Lỗi khi xử lý bản cập nhật

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Triệu chứng

Không triển khai được bản sửa đổi proxy API thông qua giao diện người dùng Edge hoặc các lệnh gọi API quản lý Edge với lỗi "Unexpected error occurred while processing the updates".

Thông báo lỗi

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

Nguyên nhân có thể xảy ra

Có thể có nhiều nguyên nhân gây ra lỗi này. Dưới đây là một vài nguyên nhân mẫu:

Nguyên nhân Chi tiết Dành cho
Hết bộ nhớ Trình xử lý thư đã hết dung lượng vùng nhớ khối xếp Java, dẫn đến việc triển khai proxy API lỗi. Người dùng trên đám mây riêng tư
Lỗi trong gói API proxy Gói proxy API gặp lỗi có thể dẫn đến lỗi triển khai proxy API. Người dùng riêng tư và người dùng Cloud công khai

Các bước phổ biến nên thử trước tiên

  1. Kiểm tra xem có bất kỳ lỗi triển khai hoặc dấu vết ngăn xếp ngoại lệ nào trong Trình xử lý thư hay không nhật ký /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
  2. Bạn thường thấy dấu vết ngăn xếp cung cấp thông tin về nguyên nhân triển khai . Vui lòng đọc kỹ dấu vết ngăn xếp để tìm hiểu nguyên nhân.

Hết bộ nhớ

Chẩn đoán

Lưu ý: Chỉ người dùng Edge Private Cloud mới có thể thực hiện các bước sau đây. Nếu bạn đang sử dụng Edge Public Cloud, hãy liên hệ với Nhóm hỗ trợ Apigee.

  1. Bạn có thể thấy ngoại lệ tương tự như ngoại lệ trong nhật ký Trình xử lý thư /opt/apigee/var/log/apigee/edge-message-processor/logs/system.log như được hiển thị trong hình bên dưới:
    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. Thông báo Nguyên nhân do: java.lang.OutofMemoryError: Java Heap space chỉ ra rằng Trình xử lý thư đã hết dung lượng Vùng nhớ khối xếp Java.

Độ phân giải

Lưu ý: Chỉ người dùng Edge Private Cloud mới có thể thực hiện các bước sau đây. Nếu bạn đang sử dụng Edge Public Cloud, hãy liên hệ với Nhóm hỗ trợ Apigee.

Tăng dung lượng Vùng nhớ khối xếp Java tối đa trên Bộ xử lý thư.

Dung lượng tối đa của Vùng nhớ khối xếp Java do thuộc tính JVM -Xmx kiểm soát. Sau đây là các bước để tăng dung lượng Vùng nhớ khối xếp Java trên Bộ xử lý thư:

  1. Xác định dung lượng bộ nhớ có thể tăng dung lượng vùng nhớ khối xếp Java:
    1. Kiểm tra giá trị hiện tại đã đặt cho dung lượng vùng nhớ khối xếp tối đa, max_mem, trong tệp /opt/apigee/edge-message-processor/bin/setenv.sh
    2. Tải MemTotal (Tổng dung lượng RAM có thể sử dụng), MemFree (lượng RAM vật lý còn lại chưa dùng đến trong hệ thống) sử dụng /proc/meminfo trên hệ thống.
      1. Đảm bảo thông tin ở trên bao gồm bộ nhớ mà bất kỳ quy trình nào khác sử dụng như Bộ định tuyến cạnh, v.v. tồn tại trên cùng một hệ thống.
      2. Dựa trên thông tin trên, hãy xác định dung lượng vùng nhớ khối xếp Java có thể chứa đối với Trình xử lý tin nhắn.
      3. Ví dụ: dung lượng vùng nhớ khối xếp tối đa hiện tại trên Trình xử lý thư là 1024 MB, MemTotal là 8GB (8192MB), MemFree là 5GB (5120MB), sau đó bạn có thể tăng Java tối đa bộ nhớ heap lên 3GB (3072MB).
      4. Nếu bạn cần được hỗ trợ xác định mức tăng dung lượng vùng nhớ khối xếp Java, liên hệ với Bộ phận hỗ trợ Apigee.
  2. Tạo tệp sau đây nếu chưa có:
    /opt/apigee/customer/application/message-processor.properties
  3. Thêm dòng sau vào tệp, với chế độ cài đặt vùng nhớ khối xếp tăng lên (ví dụ: 3072M):
    bin_setenv_max_mem=3072m
  4. Lưu tệp.
  5. Khởi động lại Trình xử lý thư:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Nếu bạn có nhiều Trình xử lý thư, hãy lặp lại các bước từ 3 đến 6 trên tất cả Bộ xử lý tin nhắn.

Nếu sự cố vẫn tiếp diễn, hãy liên hệ với Apigee Hỗ trợ.

Lỗi trong gói proxy API

Nếu có lỗi trong bất kỳ chính sách nào được sử dụng trong proxy API, thì quá trình triển khai sẽ không thành công với lỗi "Unexpected error occurred while processing the updates".

Ví dụ: xem bài đăng trên thẻ Cộng đồng.

Chẩn đoán

Lưu ý: Chỉ người dùng Edge Private Cloud mới có thể thực hiện các bước sau đây. Nếu bạn đang sử dụng Edge Public Cloud, hãy liên hệ với Nhóm hỗ trợ Apigee.

  1. Kiểm tra nhật ký Trình xử lý thư để biết các trường hợp ngoại lệ hoặc lỗi liên quan đến proxy API triển khai. Lỗi sẽ cung cấp cho bạn thông tin về những gì cần thay đổi trong proxy API để giải quyết vấn đề.
  2. Nếu không có thông báo lỗi nào hiển thị trong nhật ký Trình xử lý thông báo, hãy kiểm tra những khác biệt trong bản sửa đổi nhật ký của proxy API. Nếu các bản sửa đổi cũ triển khai mà không gặp sự cố nào, hãy xem xét mã nào các thay đổi đã được thực hiện.

Độ phân giải

  1. Thực hiện những thay đổi cần thiết trong gói proxy API để giải quyết sự cố.
  2. Huỷ bỏ mọi thay đổi về mã đối với proxy API gặp vấn đề khi triển khai.

Nếu sự cố vẫn tiếp diễn, hãy liên hệ với Bộ phận hỗ trợ Apigee để để hỗ trợ thêm.