Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Problème constaté
Le déploiement des révisions du proxy d'API via l'interface utilisateur Edge ou les appels de l'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 différentes. Voici quelques exemples de causes :
| Cause | Détails | Pour |
| Mémoire insuffisante | Le processeur de messages a manqué d'espace de tas de mémoire Java, ce qui a entraîné l'échec du déploiement du proxy d'API. | Utilisateurs de Private Cloud |
| Erreur dans le groupe de proxys d'API | Le groupe de proxys d'API contient des erreurs qui peuvent entraîner l'échec du déploiement du proxy d'API. | Utilisateurs de Private Cloud et de Public Cloud |
Étapes courantes à essayer en premier
- Vérifiez si le journal du processeur de messages
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.logcontient des erreurs de déploiement ou une trace de la pile d'exceptions. - Une trace de la pile s'affiche généralement et fournit des informations sur la cause de l'erreur de déploiement. Veuillez lire attentivement la trace de pile pour comprendre la cause.
Mémoire insuffisante
Diagnostic
Remarque : Seuls les utilisateurs d'Edge Private Cloud peuvent effectuer les étapes suivantes. Si vous utilisez Edge Public Cloud, contactez l'assistance Apigee.
- Une exception semblable à celle du journal du processeur de messages
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.logpeut s'afficher, comme illustré dans la 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
- Le message Caused by: java.lang.OutofMemoryError: Java Heap space indique que le processeur de messages a manqué d'espace de tas de mémoire Java.
Solution
Remarque : Seuls les utilisateurs d'Edge Private Cloud peuvent effectuer les étapes suivantes. Si vous utilisez Edge Public Cloud, contactez l'assistance Apigee.
Augmentez l'espace maximal du tas de mémoire Java sur les processeurs de messages.
L'espace maximal du tas de mémoire Java est contrôlé par la propriété JVM -Xmx. Voici les étapes à suivre pour augmenter l'espace du tas de mémoire Java sur les processeurs de messages :
- Déterminez la quantité de mémoire dont l'espace du tas de mémoire Java peut être augmenté :
- 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 - Obtenez MemTotal (quantité totale de RAM utilisable) et MemFree
(quantité de RAM physique inutilisée sur le système) à l'aide de la commande
/proc/meminfo sur le système.
- Assurez-vous que les informations ci-dessus incluent la mémoire consommée par d'autres processus tels que le routeur Edge, etc., qui existent sur le même système.
- En fonction des informations ci-dessus, déterminez de combien l'espace du tas de mémoire Java peut être augmenté pour le processeur de messages.
- Par exemple, si l'espace maximal actuel du tas de mémoire sur le processeur de messages est de 1 024 Mo, que MemTotal est de 8 Go (8 192 Mo) et que MemFree est de 5 Go (5 120 Mo), vous pouvez augmenter l'espace maximal du tas de mémoire Java à 3 Go (3 072 Mo).
- Si vous avez besoin d'aide pour déterminer de combien augmenter l'espace du tas de mémoire Java, contactez l'assistance Apigee.
- Vérifiez la valeur actuelle définie pour l'espace maximal du tas de mémoire, max_mem, dans le fichier
- Créez le fichier suivant s'il n'existe pas déjà :
/opt/apigee/customer/application/message-processor.properties
- Ajoutez la ligne suivante dans le fichier, avec le paramètre de tas de mémoire augmenté (par exemple, 3072M) :
bin_setenv_max_mem=3072m
- Enregistrez le fichier.
- Redémarrez le processeur de messages :
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Si vous avez plusieurs processeurs de messages, répétez les étapes 3 à 6 sur tous les processeurs de messages.
Si le problème persiste, contactez l'assistance Apigee.
Erreur dans le groupe de proxys d'API
Si des erreurs se produisent dans l'une des règles utilisées dans le proxy d'API, le déploiement
échoue avec l'erreur "Unexpected error occurred while processing the updates".
Pour obtenir un exemple, consultez ce post de la communauté.
Diagnostic
Remarque : Seuls les utilisateurs d'Edge Private Cloud peuvent effectuer les étapes suivantes. Si vous utilisez Edge Public Cloud, contactez l'assistance Apigee.
- Recherchez dans les journaux du processeur de messages les exceptions ou les erreurs liées au déploiement du proxy d'API. L'erreur doit vous indiquer ce qui doit être modifié dans le groupe de proxys d'API pour résoudre le problème.
- Si aucun message d'erreur ne s'affiche dans les journaux du processeur de messages, vérifiez les différences dans l'historique des révisions du proxy d'API. Si les anciennes révisions se déploient sans problème, examinez les modifications de code apportées.
Solution
- Apportez les modifications nécessaires au groupe de proxys d'API pour résoudre le problème.
- Restaurez toutes les modifications de code apportées au proxy d'API qui posaient problème pour le déploiement.
Si le problème persiste, contactez l'assistance Apigee pour obtenir de l'aide.