Mises à jour de traitement des erreurs

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Symptôme

Le déploiement des révisions de proxy d'API via l'interface utilisateur Edge ou les appels d'API de gestion Edge échoue avec l'erreur "Unexpected error occurred while processing the updates".

Messages d'erreur

Error in deployment for environment sit.

The revision is deployed and traffic can flow, but flow may be impared. com.apigee.kernel.exceptions.spi.UncheckedException{ code = messaging.runtime.UpdateFailed, message = Unexpected error occurred while processing the updates, associated contexts = []}

Causes possibles :

Cette erreur peut avoir de nombreuses causes. Voici quelques causes possibles:

Cause Détails Pour
Mémoire insuffisante Le processeur de messages est tombé à court d'espace de segment Java, ce qui a entraîné le déploiement du proxy d'API. l'échec. Utilisateurs de cloud privé
Erreur dans le bundle de proxy d'API Le groupe de proxys d'API contient des erreurs qui peuvent entraîner l'échec de son déploiement. Utilisateurs de cloud privé et public

Étapes courantes à essayer en premier

  1. Vérifiez s'il existe des erreurs de déploiement ou une trace de la pile d'exceptions dans le processeur de messages. journal /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
  2. Vous voyez généralement une trace de la pile qui fournit des informations sur la cause du déploiement. . Veuillez lire attentivement la trace de la pile pour comprendre la cause.

Mémoire insuffisante

Diagnostic

Remarque:Seuls les utilisateurs de cloud privé Edge peuvent effectuer les étapes suivantes. Si vous sont sur Edge Public Cloud, contactez l'assistance Apigee.

  1. Vous pouvez voir une exception similaire à celle dans le journal du processeur de messages. /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log, comme indiqué dans figure ci-dessous:
    Apigee-Main-4 ERROR BOOTSTRAP - RuntimeConfigurationServiceImpl.dispatchToListeners() : RuntimeConfigurationServiceImpl.dispatchToListeners : Error occurred while dispatching the request DeployEvent{organization=myorg', application='person-credentials-api', applicationRevision='275', deploymentSpec=basepath=/;env=dev;, deploymentID=null} to com.apigee.application.bootstrap.listeners.MessageProcessorBootstrapListener@5db88cb8
    com.apigee.kernel.exceptions.spi.UncheckedException: Unexpected error occurred while processing the updates
            at com.apigee.entities.AbstractConfigurator.throwUncheckedException(AbstractConfigurator.java:280) ~[config-entities-1.0.0.jar:na]
            at com.apigee.messaging.configuration.MessageProcessorServiceImpl.configure(MessageProcessorServiceImpl.java:665) ~[message-processor-1.0.0.jar:na]
            at com.apigee.application.bootstrap.listeners.MessageProcessorBootstrapListener.configureMessageProcessorService(MessageProcessorBootstrapListener.java:54) ~[application-bootstrap-1.0.0.jar:na]
            at com.apigee.application.bootstrap.listeners.MessageProcessorBootstrapListener.deploy(MessageProcessorBootstrapListener.java:29) ~[application-bootstrap-1.0.0.jar:na]
            …<snipped>
            at com.apigee.application.bootstrap.proto.RuntimeConfig_ConfigRPCService_BlockingSkeleton$1.run(RuntimeConfig_ConfigRPCService_BlockingSkeleton.java:38) [application-bootstrap-1.0.0.jar:na]
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_75]
            at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_75]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_75]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_75]
            at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
    Caused by: java.lang.OutOfMemoryError: Java heap space
  2. Le message Caused by: java.lang.OutofMemoryError: Java Heap space indique que le processeur de messages est à court d'espace de tas de mémoire Java.

Solution

Remarque:Seuls les utilisateurs de cloud privé Edge peuvent effectuer les étapes suivantes. Si vous sont sur Edge Public Cloud, contactez l'assistance Apigee.

Augmenter l'espace maximal de tas de mémoire Java sur les processeurs de messages

L'espace maximal de tas de mémoire Java est contrôlé par la propriété JVM -Xmx. Voici les étapes à suivre pour augmentez l'espace de tas de mémoire Java sur les processeurs de messages:

  1. Déterminez la quantité de mémoire par laquelle l'espace du tas de mémoire Java peut être augmenté: <ph type="x-smartling-placeholder">
      </ph>
    1. Vérifiez la valeur actuelle définie pour l'espace maximal du tas de mémoire, max_mem, dans le fichier. /opt/apigee/edge-message-processor/bin/setenv.sh
    2. Obtenez MemTotal (quantité totale de RAM utilisable), MemFree (quantité de RAM physique inutilisée sur le système) en utilisant /proc/meminfo sur le système.
      1. Assurez-vous que les informations ci-dessus incluent la mémoire consommée par d'autres processus comme Edge Router, etc. qui existent sur le même système.
      2. Sur la base des informations ci-dessus, déterminez la quantité d'espace du tas de mémoire Java pouvant être a augmenté pour le processeur de messages.
      3. Par exemple, l'espace maximal actuel du tas de mémoire sur le processeur de messages est de 1 024 Mo, MemTotal est de 8 Go (8 192 Mo) et MemFree de 5 Go (5 120 Mo), alors vous pouvez augmenter la taille maximale jusqu'à 3 Go (3 072 Mo).
      4. Si vous avez besoin d'aide pour déterminer l'augmentation de l'espace du tas de mémoire Java, contactez l'assistance Apigee.
  2. S'il n'existe pas encore, créez le fichier suivant:
    /opt/apigee/customer/application/message-processor.properties
  3. Ajoutez la ligne suivante au fichier, avec le paramètre d'augmentation des segments de mémoire (par exemple, 3 072 M):
    bin_setenv_max_mem=3072m
  4. Enregistrez le fichier.
  5. Redémarrez le processeur de messages:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Si vous disposez de plusieurs processeurs de messages, répétez les étapes 3 à 6 sur tous les Processeurs de messages.

Si le problème persiste, contactez Apigee Assistance.

Erreur dans le groupe de proxys d'API

S'il existe des erreurs dans l'une des stratégies utilisées dans le proxy d'API, le déploiement échouent et affichent l'erreur "Unexpected error occurred while processing the updates".

Par exemple, consultez cette post destiné à la communauté.

Diagnostic

Remarque:Seuls les utilisateurs de cloud privé Edge peuvent effectuer les étapes suivantes. Si vous sont sur Edge Public Cloud, contactez l'assistance Apigee.

  1. Recherchez les exceptions ou les erreurs dans les journaux du processeur de messages liées au proxy d'API. le déploiement. L'erreur devrait vous donner des informations sur ce qui doit être modifié dans le proxy d'API pour résoudre le problème.
  2. Si aucun message d'erreur ne s'affiche dans les journaux du processeur de messages, vérifiez les différences dans la révision l'historique du proxy d'API. Si les anciennes révisions se déploient sans problème, examinez quel code des modifications ont été apportées.

Solution

  1. Apportez les modifications nécessaires au groupe de proxys d'API pour résoudre le problème.
  2. Annulez toutes les modifications de code apportées au proxy d'API qui posaient un problème lors du déploiement.

Si le problème persiste, contactez l'assistance Apigee pour obtenir une assistance supplémentaire.