Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Gejala
Penerapan revisi proxy API melalui panggilan API pengelolaan Edge atau UI Edge gagal dengan
kesalahan "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 penyebab error ini. Berikut adalah beberapa contoh penyebabnya:
Cause | Detail | Untuk |
Kehabisan Memori | Pemroses Pesan kehabisan ruang heap Java sehingga deployment proxy API gagal. | Pengguna Private Cloud |
Error pada Paket Proxy API | Paket Proxy API memiliki error yang dapat menyebabkan kegagalan deployment proxy API. | Pengguna Cloud Pribadi dan Publik |
Langkah umum yang harus dicoba terlebih dahulu
- Periksa apakah ada error deployment atau stack trace pengecualian di Pemroses Pesan
catatan
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
- Anda biasanya melihat stack trace yang memberikan informasi tentang penyebab deployment {i>error<i}. Harap baca pelacakan tumpukan secara menyeluruh untuk memahami penyebabnya.
Kehabisan Memori
Diagnosis
Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda berada di Edge Public Cloud, hubungi Dukungan Apigee.
- Anda mungkin melihat pengecualian yang serupa dengan yang ada di log Pemroses Pesan
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
seperti yang terlihat dalam gambar di bawah ini: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 Pemroses Pesan telah kehabisan ruang Java Heap.
Resolusi
Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda berada di Edge Public Cloud, hubungi Dukungan Apigee.
Tingkatkan ruang Java Heap maksimum di Pemroses Pesan.
Ruang Java Heap maksimum dikontrol oleh properti JVM -Xmx. Berikut adalah langkah-langkah untuk meningkatkan ruang Java Heap di Message Processors:
- Tentukan jumlah memori yang dapat digunakan untuk menambah ruang heap Java:
- Memeriksa set nilai saat ini untuk ruang heap maksimum, max_mem, dalam file
/opt/apigee/edge-message-processor/bin/setenv.sh
- Dapatkan MemTotal (Total jumlah RAM yang dapat digunakan), MemFree
(jumlah RAM fisik yang tersisa yang tidak digunakan pada sistem) menggunakan
/proc/meminfo di sistem.
- Pastikan informasi di atas menyertakan memori yang digunakan oleh proses lainnya seperti Edge Router dll. yang ada di sistem yang sama.
- Berdasarkan informasi di atas, tentukan seberapa banyak ruang heap Java yang dapat meningkat untuk Pemroses Pesan.
- Misalnya, ruang heap maksimum saat ini pada Message Processor adalah 1024 MB, MemTotal adalah 8GB (8192MB), MemFree adalah 5GB (5120MB), maka Anda dapat meningkatkan ruang heap menjadi 3 GB (3072 MB).
- Jika bantuan diperlukan dalam menentukan banyaknya ruang heap Java, hubungi Dukungan Apigee.
- Memeriksa set nilai saat ini untuk ruang heap maksimum, max_mem, dalam file
- Buat file berikut, jika belum ada:
/opt/apigee/customer/application/message-processor.properties
- Tambahkan baris berikut di file, dengan setelan heap yang ditingkatkan (misalnya, 3072M):
bin_setenv_max_mem=3072m
- Simpan file.
- Mulai ulang Pemroses Pesan:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Bila Anda memiliki lebih dari satu Pemroses Pesan, ulangi langkah 3 sampai 6 pada semua Pemroses Pesan.
Jika masalah berlanjut, hubungi Apigee
Dukungan.
Terjadi error dalam paket proxy API
Jika ada error di salah satu kebijakan yang digunakan di proxy API, deployment akan
gagal dengan pesan error "Unexpected error occurred while processing the updates
".
Misalnya, lihat ini postingan komunitas ini.
Diagnosis
Catatan: Hanya pengguna Edge Private Cloud yang dapat melakukan langkah-langkah berikut. Jika Anda berada di Edge Public Cloud, hubungi Dukungan Apigee.
- Memeriksa log Pemroses Pesan untuk mengetahui pengecualian atau error yang terkait dengan proxy API deployment. Error ini akan memberi Anda informasi tentang hal yang harus diubah di proxy API paket untuk mengatasi masalah tersebut.
- Jika tidak ada pesan error yang muncul di log Pemroses Pesan, periksa perbedaan dalam revisi histori proxy API. Jika revisi lama dapat di-deploy tanpa masalah, maka tinjau kode apa perubahan yang dilakukan.
Resolusi
- Buat perubahan yang diperlukan pada paket proxy API untuk mengatasi masalah ini.
- Kembalikan setiap perubahan kode ke proxy API yang bermasalah untuk deployment.
Jika masalah berlanjut, hubungi Dukungan Apigee untuk bantuan lebih lanjut.