A sincronização de usuários das Comunidades AEM parou de funcionar

A sincronização de usuários das Comunidades AEM parou de funcionar e os usuários não são mais sincronizados entre instâncias de publicação.

Causa

Pode haver muitas causas para a falha de sincronização do usuário.  As mais comuns são:

  • Configuração incorreta
  • Erro ao salvar quando o usuário está na instância de publicação
  • Falha do sistema ao salvar o pacote do usuário devido a um erro ou um problema de permissão (instância de Autor ou Publicação)
  • Trabalhos de sling parados devido à falta de um pacote de usuário

Solução

I. Siga o guia de solução de problemas da documentação

II. Atualize VaultDistributionPackageBuilderFactory (se aplica somente ao AEM 6.2)

** Isso se aplica somente ao AEM 6.2.

Atualize socialpubsync-vlt Compilador de pacote de cofre de fábrica para solucionar problemas nos seguintes itens:

  • armazene os pacotes de sincronização do usuário no sistema de arquivos em instâncias sem cluster para aumentar a estabilidade e o desempenho.
  • inclua os nós rep:policy e evite que nós os .token e rep:cache sejam sincronizados com o usuário
  • Evite o erro "não é possível recuperar pacotes" [1]
  1. Acesse o console do OSGi http://host:port/system/console/configMgr

  2. Encontre o Pacote de distribuição de sling do Apache - Compilador de pacote de cofre de fábrica com o campo de Nome socialpubsync-vlt.

  3. Selecione o tipo de lista suspensa e selecione os pacotes de arquivo em vez de pacotes jcr.  Execute esta etapa somente em instâncias sem cluster.

  4. No campo Filtros do pacote, adicione estes valores:

    • /home/users|-.*/rep:cache
    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:policy 
    Observação:

    Adicionar rep:cache aqui evita o erro a seguir:

    [... POST /libs/sling/distribution/services/importers/socialpubsync HTTP/1.1] org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage Erro durante a instalação.
    javax.jcr.nodetype.ConstraintViolationException: OakConstraint0034: tentativa de criar ou alterar o sistema armazenado em cachê.

  5. Selecione a lista suspensa O algoritmo de resumo para calcular a soma de verificação do pacote e selecione md5.

  6. Clique em Salvar.

Se estiver executando o AEM6.2, instale o Pacote de correções cumulativas 3 em todas as instâncias de Autor e Publicação ou entre em contato com o Atendimento ao cliente do AEM para solicitar o hotfix para NPR-13034 .  Caso não sejam instalados, a configuração acima não terá efeito. 

III. Garanta que os nós de sling:Folder sejam distribuídos (se aplica somente ao AEM 6.2)

** Isso se aplica somente ao AEM 6.2.

Há um problema com a configuração padrão na Sincronização do usuário, na qual não distribui os nós sling:Folder como social/relationships/following. 

  1. Acesse http://aem-host:port/system/console/configMgr/com.adobe.cq.social.sync.impl.UserSyncListenerImpl e faça logon como administrador.

  2. Adicione sling:Folder aos Tipos de nó.

IV. Apagar pacotes do usuário

Dependendo da versão de Distribuição de sling e do AEM Social Communities, você pode ter pacotes de usuários criados em /etc/packages/sling (versões anteriores - AEM6.1 sem hotfixes) ou /var/sling/distribution/packages (versões mais recentes - AEM6.1 com AEM Social Communities FP4 ou posterior).

  1. Acesse http://host:port/crx/explorer/index.jsp

  2. Faça o logon como administrador.

  3. Vá até to /etc/packages e exclua a subpasta de sling.

  4. Navegue até /var/sling/distribution e exclua a subpasta de pacotes.

  5. Clique em Salvar.

Se você já possui o campo de tipo definido para arquivar pacotes na configuração do Compilador de pacote de cofre de fábrica, então é necessário apagar os pacotes da pasta temporária: 

  1. Faça logon no servidor do AEM.

  2. Vá para o diretório temporário usado pelo processo java do AEM (isso pode ser potencialmente definido pelo parâmetro JVM -Djava.io.tmpdir).

  3. Exclua todos os pacotes dessa pasta.  Vejai um exemplo de comando que pode ser usado no Linux: for i in dstrpck*; do rm $i; done

  4. Repita para todas as instâncias do AEM (instâncias de publicação e a instância do autor).

V. Desbloquear a fila de distribuição:

Como você apagou os pacotes, exclua todos os trabalhos de Sling parados que os referenciam.  Se os trabalhos antigos em /var/eventing/jobs/unassigned não estiverem sendo processados devido a algum erro, isso pode causar a falha de Sincronização do usuário. Exclua-os de cada nó do AEM para desbloquear a fila de sincronização: 

  1. Acesse http://host:port/crx/explorer/index.jsp

  2. Faça o logon como administrador.

  3. Abra o Explorador de Conteúdo.

  4. Navegue até /var/eventing/jobs

  5. Clique com o botão direito do mouse na primeira subpasta de /var/eventing/jobs/unassigned

  6. Encontre o nó filho que inicia com org.apache.sling.distribution

  7. Clique com o botão direito do mouse nesse nó e Exclua recursivamente.

  8. Desmarque a opção Caixa de verificação preliminar.

  9. Excluir.

VI. Mais análises

Se nenhuma das etapas acima corrigiu o problema de sincronização do usuário, ative o log no nível de depuração para esses pacotes java (instâncias de Autor e Publicação):

  1. Acesse http://aem-host:port/system/console/slinglog

  2. Clique em Adicionar novo logger.

  3. Defina os seguintes valores: 

    • Nível de log -> Depuração
    • Arquivo de log -> logs/usersync.log
    • Registro
      • org.apache.sling.distribution
      • org.apache.sling.event
      • com.adobe.cq.social.sync
  4. Clique em Salvar.

  5. Entre em contato com o Atendimento ao cliente do AEM para obter assistência. Inclua uma descrição do problema e anexe os arquivos de log.

[1] Erro de Sincronização de usuário depois de aplicar o Pacote de correções cumulativas 5 ao 6.2 ou posterior

22.08.2017 12:38:16.044 *ERROR* [sling-default-655-scheduledEventTriggerorg.apache.sling.distribution.agent.impl.TriggerAgentRequestHandler@3b05483d] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] cannot retrieve packages
org.apache.sling.distribution.common.DistributionException: java.lang.NullPointerException
at org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder.readPackageInternal(FileDistributionPackageBuilder.java:127)
at org.apache.sling.distribution.packaging.impl.AbstractDistributionPackageBuilder.readPackage(AbstractDistributionPackageBuilder.java:111)
at org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory.readPackage(VaultDistributionPackageBuilderFactory.java:243)
at org.apache.sling.distribution.transport.impl.SimpleHttpDistributionTransport.retrievePackage(SimpleHttpDistributionTransport.java:156)
at org.apache.sling.distribution.packaging.impl.exporter.RemoteDistributionPackageExporter.exportPackages(RemoteDistributionPackageExporter.java:82)
at org.apache.sling.distribution.agent.impl.SimpleDistributionAgent.exportPackages(SimpleDistributionAgent.java:214)
at org.apache.sling.distribution.agent.impl.SimpleDistributionAgent.execute(SimpleDistributionAgent.java:182)
at org.apache.sling.distribution.agent.impl.TriggerAgentRequestHandler.handle(TriggerAgentRequestHandler.java:71)
at org.apache.sling.distribution.trigger.impl.ScheduledDistributionTrigger$ScheduledDistribution.run(ScheduledDistributionTrigger.java:134)
at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:118)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException: null
Logotipo da Adobe

Fazer logon em sua conta