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
- 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 - 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.
- Anda mungkin melihat pengecualian yang mirip dengan yang ada di log Message Processor
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.logseperti 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
- 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:
- Tentukan jumlah memori yang dapat digunakan untuk meningkatkan ruang heap Java:
- Periksa nilai saat ini yang ditetapkan untuk ruang heap maksimum, max_mem, di file
/opt/apigee/edge-message-processor/bin/setenv.sh - Dapatkan MemTotal (Jumlah total RAM yang dapat digunakan), MemFree
(jumlah RAM fisik yang tidak digunakan di sistem) menggunakan
/proc/meminfo perintah di sistem.
- Pastikan informasi di atas mencakup memori yang digunakan oleh proses lain seperti Edge Router, dll. yang ada di sistem yang sama.
- Berdasarkan informasi di atas, tentukan jumlah ruang heap Java yang dapat ditingkatkan untuk Message Processor.
- 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).
- Jika Anda memerlukan bantuan dalam menentukan jumlah ruang heap Java yang akan ditingkatkan, hubungi Dukungan Apigee.
- Periksa nilai saat ini yang ditetapkan untuk ruang heap maksimum, max_mem, di file
- Buat file berikut, jika belum ada:
/opt/apigee/customer/application/message-processor.properties
- Tambahkan baris berikut dalam file, dengan setelan heap yang ditingkatkan (misalnya, 3072M):
bin_setenv_max_mem=3072m
- Simpan file.
- Mulai ulang Message Processor:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 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.
- 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.
- 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
- Buat perubahan yang diperlukan dalam paket proxy API untuk mengatasi masalah ini.
- Kembalikan perubahan kode apa pun ke proxy API yang bermasalah untuk deployment.
Jika masalah berlanjut, hubungi Dukungan Apigee untuk mendapatkan bantuan lebih lanjut.