<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
증상
Edge UI 또는 Edge 관리 API 호출을 통한 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 프록시 배포됨 있습니다 | 프라이빗 클라우드 사용자 |
API 프록시 번들의 오류 | API 프록시 번들에 API 프록시 배포 실패를 초래할 수 있는 오류가 있습니다. | 프라이빗 및 퍼블릭 클라우드 사용자 |
먼저 시도해 볼 수 있는 일반적인 단계
- 메시지 프로세서에 배포 오류 또는 예외 스택 트레이스가 있는지 확인
로그
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log
드림 - 일반적으로 배포 원인에 대한 정보를 제공하는 스택 트레이스가 표시됩니다. 오류가 발생했습니다. 스택 트레이스를 꼼꼼히 읽어보고 원인을 파악하세요.
메모리 부족
진단
참고: Edge 프라이빗 클라우드 사용자만 다음 단계를 수행할 수 있습니다. 만약 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 는 메시지 프로세서가 Java 힙 공간이 부족함을 나타냅니다.
해상도
참고: Edge 프라이빗 클라우드 사용자만 다음 단계를 수행할 수 있습니다. 만약 Edge Public Cloud를 사용하는 경우 Apigee 지원팀에 문의하세요.
메시지 프로세서의 최대 Java 힙 공간을 늘립니다.
최대 Java 힙 공간은 JVM 속성 -Xmx에 의해 제어됩니다. 다음 단계를 따르세요. 메시지 프로세서의 Java 힙 공간 늘리기:
- Java 힙 공간을 늘릴 수 있는 메모리 양을 확인합니다.
<ph type="x-smartling-placeholder">
- </ph>
- 파일에서 최대 힙 공간 max_mem에 설정된 현재 값 확인
/opt/apigee/edge-message-processor/bin/setenv.sh
- MemTotal (사용 가능한 총 RAM 양), MemFree 가져오기
를 사용하여 (시스템에서 사용되지 않는 물리적 RAM의 크기)
/proc/meminfo 명령어에 추가하도록 지정합니다.
- 위 정보에 다른 프로세스에서 소비한 메모리가 포함되어 있는지 확인하세요. 동일한 시스템에 존재하는 에지 라우터 등과 같은 내부 IP 주소를 사용합니다
- 위의 정보를 바탕으로 Java 힙 공간의 크기를 결정하세요. 증가했습니다.
- 예를 들어, 메시지 프로세서의 현재 최대 힙 공간은 1024MB입니다. 메모리 총합은 8GB (8,192MB), MemFree는 5GB (5,120MB)입니다. 5GB의 경우 최대 Java 최대 3GB (3,072MB)의 힙 공간을 제공합니다.
- 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
- 메시지 프로세서가 2개 이상인 경우 모든 기기에서 3~6단계를 메시지 프로세서.
문제가 계속되면 Apigee에 문의
지원.
API 프록시 번들에 오류가 발생했습니다.
API 프록시에서 사용된 정책에 오류가 있는 경우 배포가
'Unexpected error occurred while processing the updates
' 오류와 함께 실패합니다.
예를 보려면 다음을 참조하세요. 커뮤니티 게시물을 확인해 주세요.
진단
참고: Edge 프라이빗 클라우드 사용자만 다음 단계를 수행할 수 있습니다. 만약 Edge Public Cloud를 사용하는 경우 Apigee 지원팀에 문의하세요.
- 메시지 프로세서 로그에서 API 프록시와 관련된 예외 또는 오류를 확인합니다. 배포할 수 있습니다 오류는 API 프록시에서 변경해야 하는 사항에 대한 정보를 제공합니다. 문제를 해결할 수 있습니다
- 메시지 프로세서 로그에 오류 메시지가 표시되지 않으면 버전의 차이점을 확인합니다. API 프록시 기록입니다. 이전 버전이 문제 없이 배포된다면 어떤 코드를 검토 확인할 수 있습니다.
해상도
- API 프록시 번들에서 필요한 사항을 변경하여 문제를 해결합니다.
- 배포에 문제가 발생한 코드 변경사항을 API 프록시로 되돌립니다.
문제가 지속되면 Apigee 지원팀에 문의하세요. 도움이 될 것입니다.