Fehler beim Verarbeiten von Updates

<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

  1. 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
  2. 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.

  1. 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
  2. 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:

  1. Bestimmen Sie den Arbeitsspeicher, um den der Java-Heap-Speicherplatz erhöht werden kann: <ph type="x-smartling-placeholder">
      </ph>
    1. 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
    2. 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.
      1. Achten Sie darauf, dass die obigen Informationen den von anderen Prozessen verbrauchten Arbeitsspeicher umfassen wie Edge Router usw., die sich im selben System befinden.
      2. Ermitteln Sie anhand der obigen Informationen, wie groß der Java-Heap-Speicherplatz sein darf, für Message Processor erhöht.
      3. 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).
      4. 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.
  2. Erstellen Sie die folgende Datei, falls noch nicht vorhanden:
    /opt/apigee/customer/application/message-processor.properties
  3. 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
  4. Speichern Sie die Datei.
  5. Starten Sie den Message Processor neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. 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.

  1. 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.
  2. 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

  1. Nehmen Sie die erforderlichen Änderungen im API-Proxy-Bundle vor, um das Problem zu beheben.
  2. 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.