Vá para CRXDe http://aem-host:port/crx/de/index.jsp e faça logon como administrador.
Problema
A instância do autor do AEM está lenta e falhando devido à acumulação de workflows com falha e chamadas pulso.data.json de notificação da caixa de entrada de workflow. A notificação da caixa de entrada do workflow é o ícone de sino no canto superior direito da interface de toque.
No access.log, observa-se que muitas chamadas para pulse.data.json são dos mesmos usuários.
10.43.34.55 - user 06/Jan/2017:18:17:11 +0900 "GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json?_=1483664547926 HTTP/1.1" 500 1234 "https://authorhost/sites.html/content/geometrixx/en" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0" 10.43.34.55 - user 06/Jan/2017:18:17:13 +0900 "GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json?_=1483664547927 HTTP/1.1" 500 1234 "https://authorhost/sites.html/content/geometrixx/en" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0" 10.43.34.55 - user 06/Jan/2017:18:17:15 +0900 "GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json?_=1483664547928 HTTP/1.1" 500 1234 "https://authorhost/sites.html/content/geometrixx/en" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0" 10.43.34.55 - user 06/Jan/2017:18:17:17 +0900 "GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json?_=1483664547929 HTTP/1.1" 500 1234 "https://authorhost/sites.html/content/geometrixx/en" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
Além disso, o servidor AEM exibe alto uso da CPU e despejos de thread capturados de threads AEM como o abaixo:
"192.168.10.5 [1485896535734] GET /mnt/overlay/granite/ui/content/shell/header/actions/pulse.data.json HTTP/1.1" #1969 prio=5 os_prio=0 tid=0x0000000001a39800 nid=0xaf2 runnable [0x00007f2f5ae4f000] java.lang.Thread.State: RUNNABLE at org.apache.jackrabbit.oak.spi.state.ReadOnlyBuilder.getChildNodeNames(ReadOnlyBuilder.java:101) at org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.getChildNames(AbstractTree.java:145) at org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.getChildren(AbstractTree.java:322) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionStoreImpl.loadPermissionEntries(PermissionStoreImpl.java:150) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionStoreImpl.load(PermissionStoreImpl.java:115) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryCache.getEntries(PermissionEntryCache.java:48) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryCache.load(PermissionEntryCache.java:63) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryProviderImpl.init(PermissionEntryProviderImpl.java:109) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryProviderImpl.<init>(PermissionEntryProviderImpl.java:72) at org.apache.jackrabbit.oak.security.authorization.permission.CompiledPermissionImpl.<init>(CompiledPermissionImpl.java:112) at org.apache.jackrabbit.oak.security.authorization.permission.CompiledPermissionImpl.create(CompiledPermissionImpl.java:126) at org.apache.jackrabbit.oak.security.authorization.permission.PermissionProviderImpl.<init>(PermissionProviderImpl.java:71) at org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl.getPermissionProvider(AuthorizationConfigurationImpl.java:185) at org.apache.jackrabbit.oak.security.authorization.composite.CompositeAuthorizationConfiguration.getPermissionProvider(CompositeAuthorizationConfiguration.java:134) at org.apache.jackrabbit.oak.core.MutableRoot$1.createValue(MutableRoot.java:126) at org.apache.jackrabbit.oak.core.MutableRoot$1.createValue(MutableRoot.java:123) at org.apache.jackrabbit.oak.core.LazyValue.get(LazyValue.java:53) - locked <0x0000000726732148> (a org.apache.jackrabbit.oak.core.MutableRoot$1) at org.apache.jackrabbit.oak.core.MutableRoot$2.getExecutionContext(MutableRoot.java:311) at org.apache.jackrabbit.oak.query.QueryEngineImpl.executeQuery(QueryEngineImpl.java:256) at org.apache.jackrabbit.oak.query.QueryEngineImpl.executeQuery(QueryEngineImpl.java:233) at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUID(IdentifierManager.java:314) at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUID(IdentifierManager.java:308) at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.resolveUUID(IdentifierManager.java:304) at org.apache.jackrabbit.oak.plugins.identifier.IdentifierManager.getTree(IdentifierManager.java:133) at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByContentID(AuthorizableBaseProvider.java:56) at org.apache.jackrabbit.oak.security.user.AuthorizableBaseProvider.getByID(AuthorizableBaseProvider.java:51) at org.apache.jackrabbit.oak.security.user.UserProvider.getAuthorizable(UserProvider.java:211) at org.apache.jackrabbit.oak.security.user.UserManagerImpl.getAuthorizable(UserManagerImpl.java:110) at org.apache.jackrabbit.oak.jcr.delegate.UserManagerDelegator$1.performNullable(UserManagerDelegator.java:64) at org.apache.jackrabbit.oak.jcr.delegate.UserManagerDelegator$1.performNullable(UserManagerDelegator.java:61) at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:243) at org.apache.jackrabbit.oak.jcr.delegate.UserManagerDelegator.getAuthorizable(UserManagerDelegator.java:61) at com.adobe.granite.workflow.core.WorkflowSessionFactory.isSuperUser(WorkflowSessionFactory.java:356) at com.adobe.granite.workflow.core.WorkflowSessionFactory.getWorkflowSession(WorkflowSessionFactory.java:389) at com.adobe.granite.workflow.core.WorkflowSessionFactory.getAdapter(WorkflowSessionFactory.java:515) at org.apache.sling.adapter.internal.AdapterManagerImpl.getAdapter(AdapterManagerImpl.java:147) at com.adobe.granite.workflow.core.jcr.WorkItemAdapterFactory.getAdapter(WorkItemAdapterFactory.java:128) at org.apache.sling.adapter.internal.AdapterManagerImpl.getAdapter(AdapterManagerImpl.java:147) at com.adobe.granite.workflow.core.jcr.WorkItemManager.getInboxItems(WorkItemManager.java:289) at com.adobe.granite.workflow.core.WorkflowSessionImpl.getActiveInboxItems(WorkflowSessionImpl.java:711) at com.adobe.granite.workflow.core.WorkflowSessionImpl.getActiveInboxItems(WorkflowSessionImpl.java:618) at org.apache.jsp.libs.cq.gui.components.shell.badge.data_json_jsp._jspService(data_json_jsp.java:609)
Ambiente
SP1 do AEM 6.2
Causa
Quando um usuário ou grupo tem muitos itens pendentes na caixa de entrada, deixa a notificação das chamadas pulse.data.json lenta. As chamadas para pulse.data.json, depois o tempo limite e composto que sobrecarrega o AEM.
Resolução
Instale o último Pacote de Correções Cumulativo para corrigir o erro.
I. Siga a solução alternativa
Como não é possível instalar um pacote de correções em um ambiente de produção AEM em um curto período de tempo, como uma solução alternativa temporária, faça o seguinte:
-
-
Crie essa estrutura de pastas fora do lançamento: Folder nodes /apps/granite/ui/components/shell/clientlibs/shell/js
-
Clique em "Salvar tudo"
-
Navegue até a sobreposição para /libs/granite/ui/components/shell/clientlibs/shell/js/badge.js e modifique o código como mostrado abaixo:
Antes:
setInterval(function() { updateBadge(el, src, true); }, 2000);
Após (definido para atualizar a cada 5 minutos):
setInterval(function() { updateBadge(el, src, true); }, 300000);
Download
II. Remova tarefas e workflows antigos em execução
Além de corrigir o intervalo do selo de notificação do workflow, a causa do problema é devido a muitas tarefas pendentes na caixa de entrada do usuário. Para resolver isso, você precisa excluir os itens da caixa de entrada do workflow e as tarefas que não são mais necessárias:
-
Vá para o objeto JMX de Manutenção do Workflow:
http://host:port/system/console/jmx/com.adobe.granite.workflow%3Atype%3DMaintenance -
Se você não precisa executar workflows ativamente, execute a limpeza do workflow iniciando purgeActive com dryRun = false.
-
Vá para http://host:port/crx/explorer/index.jsp e faça logon como administrador.
-
Abra o Content Explorer.
-
Navegue até /etc/taskmanagement/tasks.
-
Exclua as tarefas clicando com o botão direito do mouse no nó da pasta e selecionando Excluir recursivamente.
-
Desabilite a verificação preliminar e execute a exclusão.
-
Além disso, você tem mais tarefas em projetos em /content/projects. Use o /projects.html para remover projetos antigos que não são mais necessários.
-
Use o CRXDe para navegar os subnós /content/projects e excluir quaisquer tarefas que não são mais necessárias. Por exemplo: /content/projects/geometrixx/outdoors/jcr:content/dashboard/gadgets/tasks
Fazer logon em sua conta