คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ลักษณะปัญหา
การติดตั้งใช้งานการแก้ไขพร็อกซี API ผ่าน Edge UI หรือการเรียก Edge Management API ไม่สำเร็จโดยมีข้อผิดพลาด "Unexpected error occurred while processing the updates
"
ข้อความแสดงข้อผิดพลาด
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 = []}
สาเหตุที่เป็นไปได้
ข้อผิดพลาดนี้อาจมีสาเหตุหลายประการ ตัวอย่างสาเหตุมีดังนี้
สาเหตุ | รายละเอียด | สำหรับ |
หน่วยความจำไม่เพียงพอ | ตัวประมวลผลข้อความไม่มีพื้นที่ว่างฮีปของ Java ทำให้การทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ | ผู้ใช้ Private Cloud |
ข้อผิดพลาดในไฟล์พร็อกซี API | กลุ่มพร็อกซี API มีข้อผิดพลาดที่อาจนำไปสู่การทำให้พร็อกซี API ใช้งานได้ไม่สำเร็จ | ผู้ใช้ Private Cloud และผู้ใช้ Cloud สาธารณะ |
ขั้นตอนทั่วไปที่ควรลองทำก่อน
- ตรวจสอบว่ามีข้อผิดพลาดเกี่ยวกับการทำให้ใช้งานได้หรือสแต็กเทรซข้อยกเว้นในบันทึกตัวประมวลผลข้อความ
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
หรือไม่ - ปกติแล้วคุณจะเห็นสแต็กเทรซที่ให้ข้อมูลเกี่ยวกับสาเหตุของข้อผิดพลาดในการทำให้ใช้งานได้ โปรดอ่านสแต็กเทรซอย่างละเอียดเพื่อทำความเข้าใจสาเหตุ
หน่วยความจำไม่เพียงพอ
การวินิจฉัย
หมายเหตุ: เฉพาะผู้ใช้ Edge Private Cloud เท่านั้นที่ดำเนินการตามขั้นตอนต่อไปนี้ได้ หากคุณใช้ Edge Public Cloud โปรดติดต่อทีมสนับสนุนของ Apigee
- คุณอาจเห็นข้อยกเว้นที่คล้ายกับข้อยกเว้นในบันทึกของตัวประมวลผลข้อความ
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
ดังที่แสดงในรูปด้านล่าง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
- ข้อความ Caused by: java.lang.OutofMemoryError: Java Heap Space บ่งบอกว่า Message Processor ไม่มีพื้นที่สำหรับ Java Heap
ความละเอียด
หมายเหตุ: เฉพาะผู้ใช้ Edge Private Cloud เท่านั้นที่ดำเนินการตามขั้นตอนต่อไปนี้ได้ หากคุณใช้ Edge Public Cloud โปรดติดต่อทีมสนับสนุนของ Apigee
เพิ่มพื้นที่ Java Heap สูงสุดบนตัวประมวลผลข้อความ
พื้นที่ Java Heap สูงสุดจะควบคุมโดยพร็อพเพอร์ตี้ JVM -Xmx ขั้นตอนในการเพิ่มพื้นที่ Java Heap บนตัวประมวลผลข้อความมีดังนี้
- ระบุจำนวนหน่วยความจำที่จะเพิ่มพื้นที่ฮีปของ Java ได้ ดังนี้
- ตรวจสอบค่าปัจจุบันที่ตั้งไว้สำหรับพื้นที่ฮีปสูงสุด max_mem ในไฟล์
/opt/apigee/edge-message-processor/bin/setenv.sh
- รับ MemTotal (จำนวน RAM ที่ใช้ได้ทั้งหมด), MemFree
(จำนวน RAM จริงที่เหลือในระบบ) โดยใช้คำสั่ง
/proc/meminfo ในระบบ
- ตรวจสอบว่าข้อมูลข้างต้นมีหน่วยความจำที่ใช้โดยกระบวนการอื่นๆ เช่น Edge Router ฯลฯ ที่อยู่ในระบบเดียวกัน
- อ้างอิงจากข้อมูลข้างต้น ระบุปริมาณพื้นที่ฮีปของ Java ที่จะเพิ่มสำหรับตัวประมวลผลข้อความได้
- เช่น พื้นที่ฮีปสูงสุดในปัจจุบันใน Message Processor คือ 1024 MB, MemTotal คือ 8 GB (8192 MB), MemFree คือ 5 GB (5120 MB) จากนั้นคุณจะเพิ่มพื้นที่ฮีปของ Java ได้สูงสุด 3 GB (3072 MB)
- หากต้องการความช่วยเหลือในการระบุปริมาณพื้นที่ที่จะเพิ่มพื้นที่ฮีปของ Java โปรดติดต่อทีมสนับสนุนของ Apigee
- ตรวจสอบค่าปัจจุบันที่ตั้งไว้สำหรับพื้นที่ฮีปสูงสุด max_mem ในไฟล์
- สร้างไฟล์ต่อไปนี้ (หากยังไม่มี)
/opt/apigee/customer/application/message-processor.properties
- เพิ่มบรรทัดต่อไปนี้ในไฟล์โดยเพิ่มการตั้งค่าฮีป (เช่น 3072M) ดังต่อไปนี้
bin_setenv_max_mem=3072m
- บันทึกไฟล์
- รีสตาร์ทโปรแกรมประมวลผลข้อความโดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- หากมี Message Processor มากกว่า 1 เครื่อง ให้ทำขั้นตอนที่ 3 ถึง 6 ซ้ำสำหรับ Message Processor ทั้งหมด
หากยังคงพบปัญหาอยู่ โปรดติดต่อทีมสนับสนุนของ Apigee.
ข้อผิดพลาดในกลุ่มพร็อกซี API
หากมีข้อผิดพลาดใดๆ ในนโยบายที่ใช้ในพร็อกซี API การทำให้ใช้งานได้จะล้มเหลวโดยมีข้อผิดพลาด "Unexpected error occurred while processing the updates
"
ตัวอย่างเช่น ดู โพสต์ชุมชนนี้
การวินิจฉัย
หมายเหตุ: เฉพาะผู้ใช้ Edge Private Cloud เท่านั้นที่ดำเนินการตามขั้นตอนต่อไปนี้ได้ หากคุณใช้ Edge Public Cloud โปรดติดต่อทีมสนับสนุนของ Apigee
- ตรวจสอบบันทึกเครื่องมือประมวลผลข้อความเพื่อดูข้อยกเว้นหรือข้อผิดพลาดที่เกี่ยวข้องกับการทำให้พร็อกซี API ใช้งานได้ ข้อผิดพลาดนี้จะให้ข้อมูลเกี่ยวกับสิ่งที่ควรเปลี่ยนแปลงในกลุ่มพร็อกซี API เพื่อแก้ไขปัญหา
- หากไม่มีข้อความแสดงข้อผิดพลาดแสดงในบันทึกตัวประมวลผลข้อความ ให้ตรวจสอบความแตกต่างในประวัติการแก้ไขของพร็อกซี API หากเวอร์ชันเก่าใช้งานได้โดยไม่มีปัญหา ให้ตรวจสอบว่ามีการเปลี่ยนแปลงโค้ดใดไปบ้าง
ความละเอียด
- ทำการเปลี่ยนแปลงที่จำเป็นในกลุ่มพร็อกซี API เพื่อแก้ไขปัญหา
- ยกเลิกการเปลี่ยนแปลงโค้ดทั้งหมดเป็นพร็อกซี API ที่สร้างปัญหาสำหรับการทำให้ใช้งานได้
หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนของ Apigee เพื่อขอความช่วยเหลือเพิ่มเติม