La sincronizzazione utente di AEM Communities smette di funzionare

La sincronizzazione utente di AEM Communities smette di funzionare e gli utenti non vengono più sincronizzati tra le istanze publish.

Causa

L’interruzione della sincronizzazione utente può essere determinata da diversi fattori.  I più comuni sono:

  • Configurazione errata
  • Un errore di salvataggio quando l’utente è sull’istanza publish
  • Errore di sistema durante il salvataggio del pacchetto utente a causa di un errore o di un problema di autorizzazione (istanza Autore o Publish)
  • Lavori Sling bloccati a causa della mancanza del pacchetto utente

Risoluzione

I. Segui la guida alla risoluzione dei problemi della documentazione

II. Aggiorna VaultDistributionPackageBuilderFactory (valido solo per AEM 6.2)

** Valido solo per AEM 6.2.

Aggiorna la socialpubsync-vlt Vault Package Builder Factory per seguire questi passaggi:

  • memorizza i pacchetti di sincronizzazione utente sul file system su istanze non raggruppate per aumentare stabilità e prestazioni.
  • includi i nodi rep:policy e non sincronizzare l’utente con i nodi .token e rep:cache
  • evita l’errore “cannot retrieve packages” (impossibile recuperare pacchetti) [1].
  1. Vai alla console OSGi http://host:port/system/console/configMgr

  2. Trova il Pacchetto Apache Sling Distribution- Vault Package Builder Factory con campo Nome socialpubsync-vlt.

  3. Seleziona l’elenco a discesa e seleziona i pacchetti di file invece dei pacchetti jcr.  Esegui questo passaggio solo su istanze non raggruppate.

  4. Nel campo Filtri pacchetto, aggiungi i seguenti valori:

    • /home/users|-.*/rep:cache
    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:policy 
    Nota:

    Aggiungere rep:cache consente di evitare l’errore sottostante:

    [... POST /libs/sling/distribution/services/importers/socialpubsync HTTP/1.1] org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage Errore durante l’installazione.
    javax.jcr.nodetype.ConstraintViolationException: OakConstraint0034: tentativo di creazione o modifica cache gestita dal sistema.

  5. Seleziona L’algoritmo di riepilogo per calcolare il checksum del pacchetto dall’elenco a discesa e seleziona md5.

  6. Fai clic su Salva.

Se esegui AEM6.2, installa Cumulative Fix Pack 3 su tutte le istanze Autore e Publish o contatta l’Assistenza clienti AEM per richiedere l’aggiornamento rapido di NPR-13034.  Se non esegui l’installazione, la configurazione di cui sopra non avrà effetto. 

III. Assicurati che i nodi sling: Folder siano distribuiti (valido solo per AEM 6.2)

** Valido solo per AEM 6.2.

Si è verificato un problema con la configurazione predefinita nella Sincronizzazione utente e non vengono distribuiti i nodi sling:Folder, ad esempio social/relationships/following. 

  1. Vai su http://aem-host:port/system/console/configMgr/com.adobe.cq.social.sync.impl.UserSyncListenerImpl e accedi come amministratore.

  2. Aggiungi sling:Folder ai Tipi di nodo.

IV. Elimina i pacchetti utente

A seconda della versione di Sling Distribution e delle AEM Social Communities a disposizione, potresti avere pacchetti utente creati come /etc/packages/sling (versioni precedenti, AEM6.1 senza aggiornamenti rapidi) o /var/sling/distribution/packages (versioni più recenti, AEM6.1 con AEM Social Communities FP4 o successive).

  1. Vai su http://host:port/crx/explorer/index.jsp

  2. Effettua l’accesso come amministratore.

  3. Sfoglia /etc/packages ed elimina la sottocartella sling.

  4. Passa a /var/sling/distribution ed elimina la sottocartella packages.

  5. Fai clic su Salva.

Se il campo di testo è già impostato su pacchetti di file nella configurazione Vault Package Builder Factory, dovrai eliminare i pacchetti dalla cartella temporanea: 

  1. Accedi al tuo server AEM.

  2. Vai alla directory temporanea utilizzata dal processo java di AEM (quest’ultimo potrebbe essere definito dal parametro JVM -Djava.io.tmpdir).

  3. Elimina tutti i pacchetti da quella cartella.  Ecco un comando di esempio che potrebbe essere usato su Linux: for i in dstrpck*; do rm $i; done

  4. Ripeti l’operazione per tutte le istanze AEM (istanze publish e l’istanza autore).

V. Sblocca la coda di distribuzione:

Dato che hai cancellato i pacchetti, elimina tutti i lavori di Sling bloccati che vi fanno riferimento.  Se c’è un errore che impedisce l’elaborazione dei lavori precedenti /var/eventing/jobs/jobs/unassigned, la sincronizzazione utente potrebbe essere compromessa. Elimina i lavori su ogni nodo AEM per sbloccare la coda di sincronizzazione: 

  1. Vai su http://host:port/crx/explorer/index.jsp

  2. Effettua l’accesso come amministratore.

  3. Apri Content Explorer.

  4. Sfoglia /var/eventing/jobs

  5. Fai clic destro sulla prima sottocartella di /var/eventing/jobs/unassigned

  6. Trova il nodo figlio che inizia con org.apache.sling.distribution

  7. Fai clic destro su quel nodo ed Elimina in modo ricorsivo.

  8. Deseleziona la Casella di scansione preliminare.

  9. Elimina.

VI. Ulteriori analisi

Se nessuno dei passaggi precedenti ha risolto il problema della sincronizzazione utente, attiva la registrazione di debug per questi pacchetti java (istanze Autore e Publish):

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

  2. Fai clic su Aggiungi nuovo registro.

  3. Imposta i seguenti valori: 

    • Livello di log -> Debug
    • File di log -> logs/usersync.log
    • Loggers
      • org.apache.sling.distribution
      • org.apache.sling.event
      • com.adobe.cq.social.sync
  4. Fai clic su Salva.

  5. Contatta l’Assistenza clienti AEM in caso di necessità, includi la descrizione del problema e allega i file di log.

[1] Errore durante la Sincronizzazione utente dopo l’applicazione della versione 6.2 Cumulative Fix Pack 5 o successive

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
Logo Adobe

Accedi al tuo account