Coda di distribuzione bloccata con AccessDeniedException

Quando si tenta di replicare il contenuto di una pagina, XF o altre risorse tramite Pubblicazione rapida, Gestisci pubblicazione o Replica, la coda di distribuzione nell’istanza di authoring si blocca. Per verificarlo, controlla pubblicare Coda di distribuzione dall’interfaccia utente di distribuzione (AEM > Strumenti > Distribuzione > Distribuzione). Per risolvere il problema, segui i passaggi descritti in questo documento.

Descrizione description

Ambiente

  • Experience Manager
  • Experience Manager as a cloud service

Problemi/Sintomi

Quando si tenta di replicare del contenuto di una pagina (o XF e altre risorse di altro tipo) utilizzando le opzioni "Pubblicazione rapida", "Gestisci pubblicazione" o "Replica", la coda di distribuzione nell’ambiente di authoring ottiene Bloccato.

Questo può essere osservato controllando pubblicare Coda di distribuzione dall’interfaccia utente di distribuzione (AEM - Strumenti - Distribuzione - Distribuzione):






Selezionando la coda di Golden Publisher (voce in grassetto dall’elenco), si forniscono maggiori dettagli e in particolare le informazioni  PERCORSO  (qui possono essere presenti più elementi):





Esaminare  Registri  verrà visualizzato il seguente errore corrispondente:

2023/03/08 12:11:26:238 - INFO - Richiesta accettata con pacchetto di distribuzione PackageMessage(pubSlingId=a1133c97-6809-411e-a435-4eea0ecbe889, reqType=ADD, pkgId=dstrpck-1678277486031-63159f4b-c577-4079-8741-d41660597d20, pkgType=journal_filevault, pkgLength=6330, pubAgentName=publish, userId=replication-service, paths=[ /content/wknd/fr] , deepPaths=[ ] ) at offset=158705

2023/03/08 12:11:27:459 - WARN - Messaggio: tentativo non riuscito (0/infinito) di importare il pacchetto di distribuzione PackageMessage(pubSlingId=a1133c97-6809-411e-a435-4eea0ecbe889, reqType=ADD, pkgId=dstrpck-1678277486031-63159f4b-c577-4079-8741-d4166059720, kgType=journal_filevault, pkgLength=6330, pubAgentName=publish, userId=replication-service, paths=[ /content/wknd/fr] , deepPaths=[ ] ) at offset=158705 a causa di "javax.jcr.AccessDeniedException: OakAccess0000: Accesso negato", l’importazione riproverà in seguito,

Stacktrace: org.apache.sling.distribution.common.DistributionException: javax.jcr.AccessDeniedException: OakAccess0000: accesso negato

[]




È necessario Cancella coda (o rimuovi tale elemento) per sbloccare la coda.

Risoluzione resolution

Nonostante l’errore sia  javax.jcr.AccessDeniedException, è possibile che non vi sia alcuna relazione con l’ACL/autorizzazioni per gli utenti del servizio di distribuzione, anche se questo dovrebbe essere preso in considerazione se il seguente scenario non si applica al caso.

Diagnostica

L’errore di cui sopra può verificarsi in alcune situazioni, quando il contenuto replicato ha una configurazione specifica correlata allo speciale  jcr:lockIsDeep  proprietà.

Per confermare la diagnosi, dovrà ispezionare ciascuno dei percorsi menzionati  con uno dei seguenti strumenti a cui puoi accedere/è applicabile:

  1. CRX/DE per istanze DEV
  2. il Browser dell’archivio
  3. creazione di un pacchetto di contenuti in Gestione pacchetti (anche questa opzione fa parte della risoluzione)

A questo punto è necessario controllare  jcr:content  per ogni percorso trovato nell’interfaccia utente della coda di distribuzione e verifica se:

  • It fa  hanno un  jcr:lockIsDeep="(Booleano)true"  proprietà
  • It non  hanno un  jcr:lockOwner="xxx"  proprietà
  • ( it non hanno un  mix:lockable  valore in  jcr:mixinTypes)

In questo caso, il problema viene confermato, in quanto  jcr:lockIsDeep  La proprietà non deve essere presente da sola. Questa proprietà deve sempre essere impostata insieme a  jcr:lockOwner  quando  Blocco  una pagina.

Non è possibile impostare solo jcr:lockIsDeep  , anche utilizzando l'API JCR; pertanto la causa principale di questa situazione è principalmente l'installazione di un danneggiato pacchetto di contenuti con tale singola proprietà.

Risoluzione

Per correggere il contenuto, l’unica soluzione consiste nell’installare nell’Autore un pacchetto con le proprietà corrette impostate sul nodo corrispondente.

Puoi creare il pacchetto da un’altra istanza con il contenuto corrispondente oppure, se disponi solo di questo contenuto nell’istanza interessata, puoi seguire queste istruzioni:

  1. Genera un pacchetto sull'istanza interrotta per la pagina errata
  2. Scaricare il pacchetto
  3. Estrai  .content.xml  per page/jcr:content
  4. Rimuovi manualmente la riga con  jcr:lockIsDeep
  5. Aggiorna il pacchetto con il nuovo/corretto .content.xml
  6. Ricarica e installa il pacchetto modificato

Controlla nuovamente le proprietà della pagina e verifica correttamente la replica/distribuzione.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f