Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Sintoma
A implantação de revisões de proxy de API usando a interface do Edge ou chamadas da API de gerenciamento do Edge falha com o
erro "Unexpected error occurred while processing the updates".
Mensagens de erro
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 = []}Causas possíveis
Há várias causas possíveis para esse erro. Confira alguns exemplos:
| Causa | Detalhes | Para |
| Memória insuficiente | O processador de mensagens ficou sem espaço de heap Java, resultando em falha na implantação do proxy de API. | Usuários do Cloud privado |
| Erro no pacote de proxy de API | O pacote de proxy de API tem erros que podem levar à falha na implantação do proxy de API. | Usuários do Cloud público e privado |
Etapas comuns para tentar primeiro
- Verifique se há erros de implantação ou stack trace de exceção no registro do processador de mensagens
log
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.log - Geralmente, um stack trace fornece informações sobre a causa do erro de implantação. Leia o stack trace com atenção para entender a causa.
Memória insuficiente
Diagnóstico
Observação:somente usuários do Edge Private Cloud podem realizar as etapas a seguir. Se você estiver no Edge Public Cloud, entre em contato com o suporte da Apigee.
- Você pode encontrar uma exceção semelhante à do registro do processador de mensagens
/opt/apigee/var/log/apigee/edge-message-processor/logs/system.logconforme mostrado na figura abaixo: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
- A mensagem Caused by: java.lang.OutofMemoryError: Java Heap space indica que o processador de mensagens ficou sem espaço de heap Java.
Resolução
Observação:somente usuários do Edge Private Cloud podem realizar as etapas a seguir. Se você estiver no Edge Public Cloud, entre em contato com o suporte da Apigee.
Aumente o espaço máximo de heap Java nos processadores de mensagens.
O espaço máximo de heap Java é controlado pela propriedade JVM -Xmx. Confira as etapas para aumentar o espaço de heap Java nos processadores de mensagens:
- Determine a quantidade de memória em que o espaço de heap Java pode ser aumentado:
- Verifique o valor atual definido para o espaço máximo de heap, max_mem, no arquivo
/opt/apigee/edge-message-processor/bin/setenv.sh - Receba MemTotal (quantidade total de RAM utilizável) e MemFree
(quantidade de RAM física não utilizada no sistema) usando
o comando /proc/meminfo no sistema.
- Verifique se as informações acima incluem a memória consumida por outros processos como o roteador do Edge, etc., que existem no mesmo sistema.
- Com base nas informações acima, determine em quanto o espaço de heap Java pode ser aumentado para o processador de mensagens.
- Por exemplo, se o espaço máximo de heap atual no processador de mensagens for de 1024 MB, o MemTotal for de 8 GB (8192 MB) e o MemFree for de 5 GB (5120 MB), você poderá aumentar o espaço máximo de heap Java para 3 GB (3072 MB).
- Se precisar de ajuda para determinar quanto aumentar o espaço de heap Java, entre em contato com o suporte da Apigee.
- Verifique o valor atual definido para o espaço máximo de heap, max_mem, no arquivo
- Crie o arquivo a seguir, se ele ainda não existir:
/opt/apigee/customer/application/message-processor.properties
- Adicione a seguinte linha ao arquivo, com a configuração de heap aumentada (por exemplo, 3072M):
bin_setenv_max_mem=3072m
- Salve o arquivo.
- Reinicie o processador de mensagens:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Se você tiver mais de um processador de mensagens, repita as etapas de 3 a 6 em todos os processadores de mensagens.
Se o problema persistir, entre em contato com o suporte da Apigee.
Erro no pacote de proxy de API
Se houver erros em alguma das políticas usadas no proxy de API, a implantação vai
falhar com o erro "Unexpected error occurred while processing the updates".
Por exemplo, consulte esta postagem da comunidade.
Diagnóstico
Observação:somente usuários do Edge Private Cloud podem realizar as etapas a seguir. Se você estiver no Edge Public Cloud, entre em contato com o suporte da Apigee.
- Verifique os registros do processador de mensagens em busca de exceções ou erros relacionados à implantação do proxy de API. O erro vai fornecer informações sobre o que precisa ser alterado no pacote de proxy de API para resolver o problema.
- Se nenhuma mensagem de erro aparecer nos registros do processador de mensagens, verifique as diferenças no histórico de revisões do proxy de API. Se as revisões mais antigas forem implantadas sem problemas, revise as mudanças de código feitas.
Resolução
- Faça as mudanças necessárias no pacote de proxy de API para resolver o problema.
- Reverta as mudanças de código no proxy de API que foram problemáticas para a implantação.
Se o problema persistir, entre em contato com o suporte da Apigee para receber mais ajuda.