Güncellemeler İşleme Hatası

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Belirti

API proxy düzeltmelerinin Edge Kullanıcı Arayüzü veya Edge management API çağrıları aracılığıyla dağıtılması "Unexpected error occurred while processing the updates" hatası.

Hata mesajları

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 = []}

Olası Nedenler

Bu hatanın birçok farklı nedeni olabilir. Aşağıda birkaç örnek neden verilmiştir:

Neden Ayrıntılar Şunlar için:
Bellek Yetersiz Mesaj İşleyici'de Java yığın alanı tükendi, bu da API proxy dağıtımına neden oldu başarısız olur. Private Cloud kullanıcıları
API Proxy Paketinde Hata API Proxy paketinde, API proxy dağıtım hatasına neden olabilecek hatalar var. Gizli ve Herkese Açık Bulut kullanıcıları

İlk olarak denenecek genel adımlar

  1. Mesaj İşleyici'de dağıtım hataları veya istisna yığın izlemesi (stack trace) olup olmadığını kontrol edin günlük /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
  2. Genellikle dağıtımın nedeni hakkında bilgi sağlayan bir yığın izleme görürsünüz hatası. Nedeni anlamak için lütfen yığın izlemeyi iyice okuyun.

Yetersiz Bellek

Teşhis

Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Destek Ekibi ile iletişime geçin.

  1. İleti İşleyen günlüğündekine benzer bir istisna görebilirsiniz. /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log aşağıdaki resme bakın:
    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. Neden: java.lang.OutofMemoryError: Java Yığın alanı mesajı İleti İşlemcide Java Yığın alanının tükendiğini gösterir.

Çözünürlük

Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Destek Ekibi ile iletişime geçin.

Mesaj işlemcilerinde maksimum Java Yığını alanını artırın.

Maksimum Java Yığını alanı, JVM özelliği olan -Xmx tarafından kontrol edilir. Başarılı bir şekilde etkilemenin Mesaj İşleyicilerinde Java Yığın alanını artırın:

  1. Java yığın alanının artırılabileceği bellek miktarını belirleyin:
    1. Dosyada maksimum yığın alanı için ayarlanan geçerli değeri (max_mem) kontrol edin /opt/apigee/edge-message-processor/bin/setenv.sh.
    2. MemTotal'ı (Toplam kullanılabilir RAM miktarı), MemFree'yi edinin (sistemde kullanılmayan fiziksel RAM miktarı) /proc/meminfo komutunu çalıştırın.
      1. Yukarıdaki bilgilerin diğer işlemler tarafından tüketilen belleği içerdiğinden emin olun. başka bir web sitesi oluşturabilirsiniz.
      2. Yukarıdaki bilgilere dayanarak Java yığın alanının ne kadar için daha yüksek olduğundan emin olun.
      3. Örneğin, Mesaj İşleyicideki mevcut maksimum yığın alanı 1024 MB'tır. MemTotal 8 GB (8192 MB), MemFree 5 GB'tır (5120 MB). Daha sonra maksimum Java değerini 3 GB'a (3072 MB) yükleyin.
      4. Java yığın alanının ne kadar artırılacağını belirlemede Apigee Destek Ekibi ile iletişime geçin.
  2. Henüz yoksa, aşağıdaki dosyayı oluşturun:
    /opt/apigee/customer/application/message-processor.properties
  3. Aşağıdaki satırı, artırılmış yığın ayarıyla (örneğin, 3072M) dosyaya ekleyin:
    bin_setenv_max_mem=3072m
  4. Dosyayı kaydedin.
  5. Mesaj İşleyici'yi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Birden fazla Mesaj İşleyiciniz varsa tüm mesajlarda 3 ila 6. adımları Mesaj İşleyiciler.

Sorun devam ederse Apigee ile iletişime geçin Destek.

API proxy paketinde hata

API proxy'sinde kullanılan politikalarda hata varsa dağıtım "Unexpected error occurred while processing the updates" hatasıyla başarısız oldu.

Örneğin bkz. topluluk gönderisine göz atın.

Teşhis

Not: Aşağıdaki adımları yalnızca Edge Private Cloud kullanıcıları gerçekleştirebilir. Şu durumda: Edge Public Cloud kullanıyorsanız Apigee Destek Ekibi ile iletişime geçin.

  1. Mesaj İşleyici günlüklerini API proxy'siyle ilgili istisnalar veya hatalar için kontrol edin dağıtım. Hata, API proxy'sinde nelerin değiştirilmesi gerektiği hakkında size bilgi vermelidir bakın.
  2. İleti İşleyici günlüklerinde hata iletisi görünmezse düzeltmedeki farklılıkları kontrol edin. geçmişi oluşturabilirsiniz. Eski düzeltmeler sorunsuz bir şekilde dağıtılıyorsa hangi kodu inceleyin değişiklik yapıldı.

Çözünürlük

  1. Sorunu gidermek için API proxy paketinde gerekli değişiklikleri yapın.
  2. Dağıtım için soruna neden olan API proxy'sinde yapılan tüm kod değişikliklerini geri alın.

Sorun devam ederse şunun için Apigee Destek Ekibi ile iletişime geçin: daha fazla yardıma ihtiyacınız var.