Kesalahan Memproses Pembaruan

Anda melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Gejala

Deployment revisi proxy API melalui UI Edge atau panggilan API pengelolaan Edge gagal dengan error "Unexpected error occurred while processing the updates".

Pesan Error

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

Kemungkinan Penyebab

Ada banyak kemungkinan penyebab error ini. Berikut beberapa contoh penyebabnya:

Penyebab Detail Untuk
Kehabisan Memori Message Processor kehabisan ruang heap Java sehingga deployment proxy API gagal. Pengguna Cloud Pribadi
Error dalam Paket Proxy API Paket Proxy API memiliki error yang dapat menyebabkan kegagalan deployment proxy API. Pengguna Cloud Pribadi dan Publik

Langkah-langkah umum yang dapat dicoba terlebih dahulu

  1. Periksa apakah ada error deployment atau pelacakan stack pengecualian di log Message Processor log /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
  2. Anda biasanya akan melihat pelacakan stack yang memberikan informasi tentang penyebab error deployment error. Baca pelacakan stack secara menyeluruh untuk memahami penyebabnya.

Kehabisan Memori

Diagnosis

Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda menggunakan Edge Public Cloud, hubungi Dukungan Apigee.

  1. Anda mungkin melihat pengecualian yang mirip dengan yang ada di log Message Processor /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log seperti yang ditunjukkan pada gambar di bawah:
    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. Pesan Caused by: java.lang.OutofMemoryError: Java Heap space menunjukkan bahwa Message Processor kehabisan ruang Heap Java.

Resolusi

Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda menggunakan Edge Public Cloud, hubungi Dukungan Apigee.

Tingkatkan ruang Heap Java maksimum di Message Processor.

Ruang Heap Java maksimum dikontrol oleh properti JVM -Xmx. Berikut langkah-langkah untuk meningkatkan ruang Heap Java di Message Processor:

  1. Tentukan jumlah memori yang dapat digunakan untuk meningkatkan ruang heap Java:
    1. Periksa nilai saat ini yang ditetapkan untuk ruang heap maksimum, max_mem, di file /opt/apigee/edge-message-processor/bin/setenv.sh
    2. Dapatkan MemTotal (Jumlah total RAM yang dapat digunakan), MemFree (jumlah RAM fisik yang tidak digunakan di sistem) menggunakan /proc/meminfo perintah di sistem.
      1. Pastikan informasi di atas mencakup memori yang digunakan oleh proses lain seperti Edge Router, dll. yang ada di sistem yang sama.
      2. Berdasarkan informasi di atas, tentukan jumlah ruang heap Java yang dapat ditingkatkan untuk Message Processor.
      3. Misalnya, ruang heap maksimum saat ini di Message Processor adalah 1024 MB, MemTotal adalah 8 GB (8192 MB), MemFree adalah 5 GB (5120 MB), maka Anda dapat meningkatkan ruang heap Java maksimum menjadi 3 GB (3072 MB).
      4. Jika Anda memerlukan bantuan dalam menentukan jumlah ruang heap Java yang akan ditingkatkan, hubungi Dukungan Apigee.
  2. Buat file berikut, jika belum ada:
    /opt/apigee/customer/application/message-processor.properties
  3. Tambahkan baris berikut dalam file, dengan setelan heap yang ditingkatkan (misalnya, 3072M):
    bin_setenv_max_mem=3072m
  4. Simpan file.
  5. Mulai ulang Message Processor:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Jika Anda memiliki lebih dari satu Message Processor, ulangi langkah 3 hingga 6 di semua Message Processor.

Jika masalah berlanjut, hubungi Apigee Dukungan.

Error dalam paket proxy API

Jika ada error dalam salah satu kebijakan yang digunakan dalam proxy API, deployment akan gagal dengan error "Unexpected error occurred while processing the updates".

Misalnya, lihat postingan komunitas ini.

Diagnosis

Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda menggunakan Edge Public Cloud, hubungi Dukungan Apigee.

  1. Periksa log Message Processor untuk mengetahui pengecualian atau error terkait deployment proxy API. Error tersebut akan memberi Anda informasi tentang apa yang harus diubah dalam paket proxy API untuk mengatasi masalah ini.
  2. Jika tidak ada pesan error yang muncul di log Message Processor, periksa perbedaan dalam histori revisi proxy API. Jika revisi lama di-deploy tanpa masalah, tinjau perubahan kode dilakukan.

Resolusi

  1. Buat perubahan yang diperlukan dalam paket proxy API untuk mengatasi masalah ini.
  2. Kembalikan perubahan kode apa pun ke proxy API yang bermasalah untuk deployment.

Jika masalah berlanjut, hubungi Dukungan Apigee untuk mendapatkan bantuan lebih lanjut.