Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Sintomo
Il deployment delle revisioni del proxy API tramite la UI di Edge o le chiamate API di gestione di Edge non riesce con il
errore "Unexpected error occurred while processing the updates
".
Messaggi di errore
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 = []}
Possibili cause
Le cause di questo errore possono essere diverse. Ecco alcuni esempi di cause:
Causa | Dettagli | Per |
Memoria insufficiente | Il processore di messaggi ha esaurito lo spazio heap Java, con conseguente deployment del proxy API errore. | Utenti del cloud privato |
Errore nel bundle proxy API | Il bundle proxy API contiene errori che possono portare a un errore di deployment del proxy API. | Utenti di cloud privato e pubblico |
Passaggi comuni da provare prima
- Controlla se sono presenti errori di deployment o analisi dello stack di eccezioni nel processore di messaggi
registrare
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
- In genere viene visualizzata un'analisi dello stack che fornisce informazioni sulla causa del deployment . Leggi attentamente l'analisi dello stack per comprenderne la causa.
Memoria esaurita
Diagnosi
Nota: solo gli utenti Edge Private Cloud possono eseguire i seguenti passaggi. Se sono su Edge Public Cloud, contatta l'assistenza Apigee.
- Potresti notare un'eccezione simile a quella nel log del processore di messaggi
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
come mostrato in nella figura seguente: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
- Viene visualizzato il messaggio Causato da: java.lang.OutofMemoryError: spazio heap Java indica che il processore di messaggi ha esaurito lo spazio Heap Java.
Risoluzione
Nota: solo gli utenti Edge Private Cloud possono eseguire i seguenti passaggi. Se sono su Edge Public Cloud, contatta l'assistenza Apigee.
Aumenta lo spazio massimo dell'heap Java sui processori di messaggi.
Lo spazio heap Java massimo è controllato dalla proprietà JVM -Xmx. Di seguito sono riportati i passaggi per Aumenta lo spazio heap Java sui processori di messaggi:
- Determina la quantità di memoria alla quale è possibile aumentare lo spazio heap Java:
- Controlla il valore attualmente impostato per lo spazio massimo heap, max_mem, nel file
/opt/apigee/edge-message-processor/bin/setenv.sh
- Ottieni MemTotal (quantità totale di RAM utilizzabile), MemFree
(quantità di RAM fisica inutilizzata nel sistema) utilizzando
/proc/meminfo sul sistema.
- Assicurati che le informazioni riportate sopra includano la memoria utilizzata da qualsiasi altro processo come Router Edge ecc. che esistono sullo stesso sistema.
- In base alle informazioni di cui sopra, determina la quantità di spazio heap Java che può essere per il processore di messaggi.
- Ad esempio, lo spazio heap massimo attuale sul processore di messaggi è 1024 MB, MemTotal è di 8 GB (8192 MB), MemFree è di 5 GB (5120 MB), quindi puoi aumentare il valore massimo heap in 3 GB (3072 MB).
- Se occorre assistenza per determinare di quanto aumentare lo spazio heap Java, contatta l'assistenza Apigee.
- Controlla il valore attualmente impostato per lo spazio massimo heap, max_mem, nel file
- Crea il seguente file, se non esiste già:
/opt/apigee/customer/application/message-processor.properties
- Aggiungi la seguente riga nel file, con l'impostazione heap aumentata (ad esempio, 3072M):
bin_setenv_max_mem=3072m
- Salva il file.
- Riavvia il processore di messaggi:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Se si dispone di più di un processore di messaggi, ripetere i passaggi da 3 a 6 su tutte le Processori di messaggi.
Se il problema persiste, contatta Apigee
Assistenza.
Errore nel bundle proxy API
In caso di errori in uno qualsiasi dei criteri utilizzati nel proxy API, il deployment
non riesce e viene restituito l'errore "Unexpected error occurred while processing the updates
".
Ad esempio, consulta questo della scheda Community.
Diagnosi
Nota: solo gli utenti Edge Private Cloud possono eseguire i seguenti passaggi. Se sono su Edge Public Cloud, contatta l'assistenza Apigee.
- Controlla nei log del processore di messaggi eventuali eccezioni o errori relativi al proxy API e deployment continuo. L'errore dovrebbe fornirti informazioni su cosa deve essere modificato nel proxy API per risolvere il problema.
- Se nei log del processore di messaggi non viene visualizzato alcun messaggio di errore, controlla le differenze nella revisione cronologia del proxy API. Se il deployment delle revisioni meno recenti viene eseguito senza problemi, analizza il codice modifiche apportate.
Risoluzione
- Apporta le modifiche necessarie nel bundle proxy API per risolvere il problema.
- Ripristina tutte le modifiche al codice apportate al proxy API che hanno causato problemi per il deployment.
Se il problema persiste, contatta l'assistenza Apigee per per ricevere ulteriore assistenza.