Verteilungswarteschlange mit AccessDeniedException blockiert

Beim Versuch, Seiteninhalte, XF oder andere Ressourcen mit Quick Publish zu replizieren, Veröffentlichungen verwalten oder zu replizieren, wird die Verteilungswarteschlange auf der Autoreninstanz blockiert. Sie können dies überprüfen, indem Sie in der Verteilungs UI die Veröffentlichungs-/Verteilungswarteschlange verwenden (AEM > Tools > Bereitstellung > Verteilung). Befolgen Sie die in diesem Dokument angegebenen Schritte, um das Problem zu beheben.

Beschreibung description

Umgebung

  • Experience Manager
  • Experience Manager as a Cloud Service

Probleme/Symptome

Beim Versuch, Seiteninhalte (oder XF und andere Ressourcen) mit „Quick Publish", „Veröffentlichung verwalten“ oder „Replizieren“ zu replizieren, wird die Verteilungswarteschlange auf der Autoreninstanz blockiert.

Dies lässt sich feststellen, indem Sie in der -Benutzeroberfläche AEM - Tools - Bereitstellung - Verteilung) die Option Veröffentlichungs-/-Warteschlange überprüfen:






Auswahl der Warteschlange „Golden Publisher“ (Eintrag fett aus der Liste) werden weitere Details angegeben, insbesondere der beteiligte PATH (hier können mehrere Elemente vorhanden sein):





Wenn Sie die Registerkarte Logs durchgehen, wird der folgende entsprechende Fehler angezeigt:

2023/03/08 12:11:26:238 - INFO - Anfrage mit Verteilungspaket akzeptiert PackageMessage(pubSlingId=a1133c97-6809-411e-a435-4ea0ecbe889, reqType=ADD, pkgId=dstrpck-1678277486031-63159f4b-c577-4079-8741-d41660597[ ] [ ] 158705 d20, pkgType=journal_filevault, pkgLength=6330, pub=name=pu=name,

2023/03/08 12:11:27:459 - WARNUNG - Nachricht: Fehlgeschlagener Versuch (0/unendlich), das Verteilungspaket zu importierenNachricht(pubSlingId=a1133c97-6809-411e-a435-4ea0ecbe889, reqType=ADD, pkgId=dstrpck-1678277486031-63159f4b-c577-4079-8741-d41660597d20, pkgType=journal_filevault, pkgLength=6330, pubAgentName=publish, userId=replication-service, path=[ /content/wknd/fr] , deepPaths=[ ] ) bei offset=158705 aufgrund von 'javax.jcr.AccessDeniedException: OakAccess000

Stacktrace: org.apache.sling.distribution.common.DistributionException: javax.jcr.AccessDeniedException: OakAccess0000: Zugriff verweigert

[]




Sie müssen Warteschlange löschen (oder dieses Element entfernen), um die Blockierung der Warteschlange aufzuheben.

Auflösung resolution

Trotz des javax.jcr.AccessDeniedException Fehlers besteht möglicherweise keine Beziehung mit der ACL / den Berechtigungen für die Benutzer des Verteilungs-Services, obwohl dies berücksichtigt werden sollte, wenn das folgende Szenario nicht auf Ihren Fall zutrifft.

Diagnose

Der obige Fehler kann in einigen Fällen auftreten, wenn der replizierte Inhalt keine bestimmte Konfiguration im Zusammenhang mit der speziellen Eigenschaft jcr:lockIsDeep aufweist.

Um die Diagnose zu bestätigen, müssen Sie jeden der genannten Pfade mit einem der folgenden Tools überprüfen, auf die Sie zugreifen können/die anwendbar sind:

  1. CRX/DE für Entwicklungsinstanzen
  2. den Repository-Browser
  3. Erstellen eines Inhaltspakets im Package Manager (diese Option ist auch Teil der Auflösung)

Anschließend müssen Sie den jcr:content für jeden Pfad in der Verteilungswarteschlangen-Benutzeroberfläche überprüfen und überprüfen, ob:

  • Sie hat eine jcr:lockIsDeep=„(boolean)true“ Eigenschaft
  • Es hat keine jcr:lockOwner="xxx" Eigenschaft
  • ( es nicht hat einen mix:lockable Wert im jcr:mixinTypes)

Wenn dies der Fall ist, wird das Problem bestätigt, da die jcr:lockIsDeep-Eigenschaft nicht allein vorhanden sein sollte. Diese Eigenschaft sollte immer zusammen mit dem jcr:lockOwner festgelegt werden, wenn eine Seite gesperrt.

Es ist nicht möglich, nur die jcr:lockIsDeep-Eigenschaft festzulegen, selbst nicht mithilfe der JCR-API. Die Grundursache für diese Situation ist daher meist die Installation eines beschädigten Inhaltspakets mit dieser einzigen Eigenschaft.

Lösung

Um den Inhalt zu beheben, installieren Sie in Ihrer Autoreninstanz nur ein Paket, für das die richtigen Eigenschaften auf dem entsprechenden Knoten festgelegt sind.

Sie können dieses Paket entweder aus einer anderen Instanz mit dem entsprechenden Inhalt erstellen oder wenn Sie diesen Inhalt nur auf der betroffenen Instanz haben, können Sie den folgenden Anweisungen folgen:

  1. Generieren eines Pakets in der fehlerhaften Instanz für die fehlerhafte Seite
  2. Paket herunterladen
  3. Extrahieren Sie die .content.xml für die Seite/jcr:content
  4. Entfernen Sie die Zeile mit dem Befehl jcr:lockIsDeep
  5. Aktualisieren Sie Ihr Paket mit der neuen/festen .content.xml
  6. Das geänderte Paket erneut hochladen und installieren

Überprüfen Sie erneut die Seiteneigenschaften, und testen Sie die Replikation/Verteilung erfolgreich.

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