Güncellemeler İşleme Hatası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Belirti

Edge kullanıcı arayüzü veya Edge Management API çağrıları aracılığıyla API proxy revizyonlarının dağıtımı, "Unexpected error occurred while processing the updates" hatasıyla başarısız oluyor.

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 İçin
Yetersiz Bellek Mesaj İşleyici'nin Java yığın alanı tükendiği için API proxy'si dağıtımı başarısız oldu. Özel bulut kullanıcıları
API proxy paketinde hata API proxy paketi, API proxy dağıtımının başarısız olmasına neden olabilecek hatalar içeriyor. Özel ve genel bulut kullanıcıları

Öncelikle denemeniz gereken yaygın adımlar

  1. Message Processor günlüğünde /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log dağıtım hatası veya istisna yığını izi olup olmadığını kontrol edin.
  2. Genellikle dağıtım hatasının nedenine ilişkin bilgileri içeren bir yığın izleme görürsünüz. Lütfen nedeni anlamak için yığın izlemeyi dikkatlice okuyun.

Yetersiz bellek

Teşhis

Not: Yalnızca Edge Private Cloud kullanıcıları aşağıdaki adımları uygulayabilir. Edge Public Cloud kullanıyorsanız Apigee Destek Ekibi ile iletişime geçin.

  1. Aşağıdaki şekilde gösterildiği gibi, Mesaj İşleyici günlüğündeki /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log ile benzer bir istisna görebilirsiniz:
    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. Caused by: java.lang.OutofMemoryError: Java Heap space mesajı, Mesaj İşleyici'nin Java yığın alanının tükendiğini gösterir.

Çözünürlük

Not: Yalnızca Edge Private Cloud kullanıcıları aşağıdaki adımları uygulayabilir. Edge Public Cloud kullanıyorsanız Apigee Destek Ekibi ile iletişime geçin.

İleti işlemcilerindeki maksimum Java Heap alanını artırın.

Maksimum Java Heap alanı, JVM özelliği -Xmx ile kontrol edilir. Java Heap alanını ileti işlemcilerde artırmak için şu adımları uygulayın:

  1. Java yığın alanının artırılabileceği bellek miktarını belirleyin:
    1. Dosyada maks. yığın alanı (max_mem) için ayarlanan geçerli değeri kontrol edin. /opt/apigee/edge-message-processor/bin/setenv.sh
    2. Sistemde /proc/meminfo komutunu kullanarak MemTotal (kullanılabilir toplam RAM miktarı) ve MemFree (sistemde kullanılmayan fiziksel RAM miktarı) değerlerini alın.
      1. Yukarıdaki bilgilerin, aynı sistemde bulunan Edge Router gibi diğer işlemlerin kullandığı belleği de içerdiğinden emin olun.
      2. Yukarıdaki bilgilere dayanarak, Java yığın alanının Mesaj İşleyici için ne kadar artırılabileceğini belirleyin.
      3. Örneğin, Mesaj İşleyici'deki mevcut maksimum yığın alanı 1024 MB, MemTotal 8 GB (8192 MB), MemFree 5 GB (5120 MB) ise maksimum Java yığın alanını 3 GB'a (3072 MB) çıkarabilirsiniz.
      4. Java yığın alanının ne kadar artırılacağını belirleme konusunda yardıma ihtiyacınız varsa 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. Dosyaya aşağıdaki satırı, artırılmış yığın ayarıyla (örneğin, 3072M) 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 3-6 arasındaki adımları tüm Mesaj İşleyicilerde tekrarlayın.

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

API proxy paketinde hata

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

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

Teşhis

Not: Yalnızca Edge Private Cloud kullanıcıları aşağıdaki adımları uygulayabilir. Edge Public Cloud kullanıyorsanız Apigee Destek Ekibi ile iletişime geçin.

  1. API proxy'si dağıtımıyla ilgili istisnalar veya hatalar için Mesaj İşleyici günlüklerini kontrol edin. Hata, sorunu çözmek için API proxy'si paketinde neyin değiştirilmesi gerektiği hakkında bilgi vermelidir.
  2. Mesaj İşleyici günlüklerinde hata mesajı görünmüyorsa API proxy'sinin düzeltme geçmişindeki farklılıkları kontrol edin. Eski düzeltmeler sorunsuz bir şekilde dağıtılıyorsa hangi kod değişikliklerinin yapıldığını inceleyin.

Çözünürlük

  1. Sorunu gidermek için API proxy paketinde gerekli değişiklikleri yapın.
  2. API proxy'sinde dağıtım açısından sorunlu olan tüm kod değişikliklerini geri alın.

Sorun devam ederse daha fazla yardım için Apigee Destek Ekibi ile iletişime geçin.