Diese Seite stellt Informationen zur Fehlerbehebung bei Replikationsproblemen bereit.
Die Replikation (nicht die Rückwärtsreplikation) schlägt aus irgendeinem Grund fehl.
Es gibt verschiedene Gründe, warum eine Replikation fehlschlägt. Dieser Artikel beschreibt die mögliche Vorgehensweise beim Analysieren der Probleme.
Werden beim Klicken auf die Schaltfläche „Aktivieren“ irgendwelche Replikationen ausgelöst? Falls NICHT, gehen Sie wie folgt vor:
Werden die Replikationen in den Warteschlangen der Replikationsagenten gespeichert?
Gehen Sie dazu zu /etc/replication/agents.author.html und klicken Sie dann auf die Replikationsagenten, die überprüft werden sollen.
Wenn eine oder einige Agentenwarteschlangen hängen geblieben sind:
Zeigt die Warteschlange den Status blockiert an? Wenn dies der Fall ist, wird die Veröffentlichungsinstanz nicht ausgeführt oder reagiert sie überhaupt nicht? Überprüfen Sie die Veröffentlichungsinstanz, um das Problem zu ermitteln (d. h. überprüfen Sie die Protokolle, um festzustellen, ob der Fehler „OutOfMemory“ oder ein anderes Problem vorliegt). Wenn die Instanz nur allgemein langsam ist, analysieren Sie die Thread-Sicherungskopien.
Zeigt der Warteschlangenstatus Warteschlange ist aktiv - # pending? Möglicherweise wurde der Replikationsauftrag durch einen SocketRead-Vorgang unterbrochen und wartet auf eine Reaktion der Veröffentlichungsinstanz oder des Dispatchers. Das bedeutet, dass u. U. eine hohe Last auf der Veröffentlichungsinstanz oder dem Dispatcher vorliegt oder dass diese durch eine Sperre unterbrochen wurden. Überprüfen Sie in diesem Fall die Thread-Sicherungskopien der Autoren- und Veröffentlichungsinstanzen.
Wenn alle Agentenwarteschlangen hängen geblieben sind:
Es ist möglich, dass ein bestimmtes Inhaltselement aufgrund einer Beschädigung des Repositorys oder eines anderen Problems nicht unter /var/replication/data serialisiert werden kann. Überprüfen Sie logs/error.log auf einen zugehörigen Fehler. Gehen Sie wie folgt vor, um das fehlerhafte Replikationselement zu entfernen:
Möglicherweise liegt ein Problem mit den Auftragswarteschlangen des Sling-Eventing-Frameworks vor. Versuchen Sie, das Bundle „org.apache.sling.event“ in „/system/console“ neu zu starten.
Möglicherweise ist die Auftragsverarbeitung vollständig deaktiviert. Dies kann in der Felix-Konsole auf der Registerkarte „Sling Eventing“ überprüft werden. Prüfen Sie, ob Folgendes angezeigt wird: „Apache Sling Eventing (JOB PROCESSING IS DISABLED!“)
Möglicherweise ist auch der Status der Konfiguration „DefaultJobManager“ inkonsistent. Dies kann vorkommen, wenn die Konfiguration für „Apache Sling Job Event Handler“ über die OSGi-Konsole manuell geändert wird (z. B. durch Deaktivieren und erneutes Aktivieren der Eigenschaft „Job Processing Enabled“ und Speichern der Konfiguration).
Erstellen einer „replication.log“-Datei
In manchen Fällen kann es hilfreich sein, wenn alle Replikationsprotokolle auf DEBUG-Ebene in separate Protokolldateien geschrieben werden. Gehen Sie hierfür wie folgt vor:
Gehen Sie zu https://host:port/system/console/configMgr und melden Sie sich als Administrator an.
Suchen Sie die Apache Sling Logging Logger-Factory und erstellen Sie eine Instanz, indem Sie auf die Schaltfläche + rechts von der Factory-Konfiguration klicken. Dadurch wird eine neue Logging Logger-Konfiguration erstellt.
Richten Sie die Konfiguration wie folgt ein:
Wenn Sie annehmen, dass das Problem in irgendeiner Weise mit „eventing/jobs“ von Sling verknüpft ist, können Sie auch dieses Java-Paket unter „categories:org.apache.sling.event“ hinzufügen.
In manchen Fällen ist es u. U. nützlich, die Replikations-Warteschlange anzuhalten, um die Last auf dem Autorensystem zu reduzieren, ohne dieses zu deaktivieren. Dies ist derzeit nur durch das vorübergehende Konfigurieren eines ungültigen Ports möglich. Ab Version 5.4 steht eine Schaltfläche zum Anhalten für die Warteschlange des Replikations-Agenten zur Verfügung, jedoch mit einigen Einschränkungen.
Seitenberechtigungen werden nicht repliziert, da sie für die Knoten gespeichert werden, auf die Zugriff erteilt wird, und nicht für die Benutzer.
Im Allgemeinen sollten Seitenberechtigungen nicht von der Autoreninstanz auf der Veröffentlichungsinstanz repliziert werden und stellen keine Standardeinstellung dar. Der Grund hierfür ist, das die Zugriffsrechte in diesen beiden Umgebungen unterschiedlich sein müssen. Es wird deshalb empfohlen, auf der Veröffentlichungs- und der Autoreninstanz separate Zugriffskontrolllisten (ACLs) zu konfigurieren.
In einigen Fällen wird die Replikations-Warteschlange beim Versuch blockiert, Namensrauminformationen von der Autoreninstanz auf die Veröffentlichungsinstanz zu replizieren. Dies geschieht, weil der Replikationsbenutzer nicht über die Berechtigung jcr:namespaceManagement
verfügt. Um dieses Problem zu vermeiden, stellen Sie Folgendes sicher:
jcr:namespaceManagement
. Sie können die Berechtigungen wie folgt erteilen:https://localhost:4502/crx/de/index.jsp
) als Administrator an.jcr:namespaceManagement
aus der Liste der Berechtigungen aus.