<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Symptom
Die Bereitstellung von API-Proxy-Versionen über die Edge-Benutzeroberfläche oder Edge-Management-API-Aufrufe schlägt mit der
Fehler „Unexpected error occurred while processing the updates
“.
Fehlermeldungen
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 = []}
Mögliche Ursachen
Dieser Fehler kann viele verschiedene Ursachen haben. Hier sind einige Beispiele für mögliche Ursachen:
Ursache | Details | Für |
Nicht genügend Arbeitsspeicher | Der Java-Heap-Speicherplatz im Message Processor ist aufgebraucht, wodurch der API-Proxy bereitgestellt wurde Fehler. | Private Cloud-Nutzer |
Fehler im API-Proxy-Bundle | Das API-Proxy-Bundle weist Fehler auf, die zu einem API-Proxy-Bereitstellungsfehler führen können. | Nutzer von privaten und öffentlichen Clouds |
Häufige Schritte zum Ausprobieren
- Prüfen Sie, ob im Message Processor Bereitstellungsfehler oder ein Ausnahme-Stacktrace vorhanden sind
Protokoll
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
- Normalerweise sehen Sie einen Stacktrace mit Informationen zur Ursache der Bereitstellung Fehler. Lesen Sie den Stacktrace sorgfältig, um die Ursache zu verstehen.
Nicht genügend Arbeitsspeicher
Diagnose
Hinweis: Nur Edge Private Cloud-Nutzer können die folgenden Schritte ausführen. Wenn Sie die in Edge Public Cloud sind, wenden Sie sich an den Apigee-Support.
- Möglicherweise wird eine Ausnahme angezeigt, die der im Message Processor-Protokoll ähnelt.
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
, wie in den Abbildung unten: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
- Die Meldung Verursacht durch: java.lang.OutofMemoryError: Java Heapspace gibt an, dass der Java Heap-Speicherplatz für den Message Processor aufgebraucht ist.
Auflösung
Hinweis: Nur Edge Private Cloud-Nutzer können die folgenden Schritte ausführen. Wenn Sie die in Edge Public Cloud sind, wenden Sie sich an den Apigee-Support.
Erhöhen Sie den maximalen Java Heap-Speicherplatz auf den Message Processors.
Der maximale Java-Heap-Speicherplatz wird von der JVM-Eigenschaft „-Xmx“ gesteuert. Führen Sie die folgenden Schritte aus, um Vergrößern Sie den Java-Heap-Speicherplatz in den Message Processors:
- Bestimmen Sie den Arbeitsspeicher, um den der Java-Heap-Speicherplatz erhöht werden kann:
<ph type="x-smartling-placeholder">
- </ph>
- Prüfen Sie den Wert, der in der Datei für den max. Heap-Speicherplatz „max_mem“ festgelegt ist,
/opt/apigee/edge-message-processor/bin/setenv.sh
- Holen Sie sich MemTotal (Gesamtmenge des nutzbaren RAM-Speichers), MemFree
(Menge des ungenutzten physischen RAM-Speichers auf dem System) unter Verwendung von
/proc/meminfo auf dem System.
- Achten Sie darauf, dass die obigen Informationen den von anderen Prozessen verbrauchten Arbeitsspeicher umfassen wie Edge Router usw., die sich im selben System befinden.
- Ermitteln Sie anhand der obigen Informationen, wie groß der Java-Heap-Speicherplatz sein darf, für Message Processor erhöht.
- Der aktuelle maximale Heap-Speicher auf dem Message Processor beträgt beispielsweise 1024 MB. MemTotal beträgt 8 GB (8192 MB), MemFree ist 5 GB (5.120 MB), dann können Sie die maximale Java-Anzahl bis zu 3 GB (3.072 MB).
- Wenn Sie Hilfe bei der Bestimmung benötigen, um wie viel der Java-Heap-Speicherplatz erhöht werden muss, wenden Sie sich an den Apigee-Support.
- Prüfen Sie den Wert, der in der Datei für den max. Heap-Speicherplatz „max_mem“ festgelegt ist,
- Erstellen Sie die folgende Datei, falls noch nicht vorhanden:
/opt/apigee/customer/application/message-processor.properties
- Fügen Sie der Datei die folgende Zeile mit der Einstellung für den erhöhten Heap hinzu (z. B. 3072M):
bin_setenv_max_mem=3072m
- Speichern Sie die Datei.
- Starten Sie den Message Processor neu:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Wenn Sie mehr als einen Message Processor haben, wiederholen Sie die Schritte 3 bis 6 für alle Message Processors.
Wenn das Problem weiterhin besteht, wenden Sie sich an Apigee
Unterstützung.
Fehler im API-Proxy-Bundle
Wenn eine der im API-Proxy verwendeten Richtlinien Fehler enthält, wird die Bereitstellung
schlägt mit dem Fehler "Unexpected error occurred while processing the updates
" fehl.
Sehen Sie sich zum Beispiel diese Communitybeitrag.
Diagnose
Hinweis: Nur Edge Private Cloud-Nutzer können die folgenden Schritte ausführen. Wenn Sie die in Edge Public Cloud sind, wenden Sie sich an den Apigee-Support.
- Prüfen Sie die Message Processor-Protokolle auf Ausnahmen oder Fehler im Zusammenhang mit dem API-Proxy Bereitstellung. Der Fehler sollte Ihnen Informationen dazu geben, was im API-Proxy geändert werden sollte bündeln, um das Problem zu lösen.
- Wenn in den Message Processor-Logs keine Fehlermeldungen angezeigt werden, prüfen Sie die Unterschiede in der Version Verlauf des API-Proxys. Wenn ältere Versionen problemlos bereitgestellt werden, prüfen Sie, welchen Code Änderungen vorgenommen wurden.
Auflösung
- Nehmen Sie die erforderlichen Änderungen im API-Proxy-Bundle vor, um das Problem zu beheben.
- Setzen Sie alle Codeänderungen am API-Proxy zurück, die für die Bereitstellung problematisch waren.
Wenn das Problem weiterhin besteht, wenden Sie sich an den Apigee-Support für weitere Unterstützung.