Problemen oplossen met replicatie

Deze pagina biedt informatie over hoe u problemen met replicatie kunt oplossen.

Probleem

De replicatie (niet-omgekeerde replicatie) ontbreekt om één of andere reden.

Resolutie

Er zijn diverse redenen voor replicatie om te ontbreken. In dit artikel wordt uitgelegd welke aanpak u kunt volgen bij het analyseren van deze kwesties.

Worden replicaties überhaupt geactiveerd wanneer u op de knop Activeren klikt? Als NIET dan het volgende doet:

  1. Ga naar /crx/explorer (CQ5.5) en meld u aan als beheerder.
  2. "Content Explorer" openen
  3. Zie of bestaat een knoop /bin/replicate of /bin/replicate.json. Als het knooppunt bestaat, verwijdert u het en slaat u het op.

Worden de replicaties omhoog een rij gevormd in de rijen van de replicatieagent?

Controleer dit door naar /etc/replication/agents.author.html te gaan dan op de replicatieagenten klikken om te controleren.

Als één agentenrij of een paar agentenrijen vast zijn:

  1. Geeft de wachtrij de status locked weer? Zo ja, wordt de publicatie-instantie dan niet uitgevoerd of reageert deze niet volledig? Controleer de publicatie-instantie om te zien wat er mis is (controleer de logbestanden en controleer of er een OutOfMemory-fout of een ander probleem is. Dan als het slechts over het algemeen langzaam is, neem draaddumps en analyseer hen.

  2. Geeft de wachtrijstatus Wachtrij is actief - # hangend? De replicatietaak kan in feite vastzitten in een socket die wordt gelezen en die wacht op de reactie van de publiciteit of de verzender. Dit zou kunnen betekenen dat de publicatie instantie of de verzender onder hoge lading of vastzit in een slot. Neem draaddumps van auteur en publiceer in dit geval.

    • Open de draaddumps van auteur in een analysator van de draadstortplaats, controleer of het toont dat de sling van de replicatieagent de gebeurtenisbaan in socketRead geplakt is.
    • Open de draaddumps van publiceren in een analysator van de draadstortplaats, analyseer wat zou kunnen veroorzaken publiceer instantie om niet te antwoorden. U zou een draad met POST /bin/receive in zijn naam moeten zien, die de draad is die de replicatie van auteur ontvangt.

Als alle agentenrijen worden geplakt

  1. Het is mogelijk dat een bepaald stuk inhoud niet onder /var/replication/data kan in series worden vervaardigd toe te schrijven aan de corruptie van de bewaarplaats of een andere kwestie. Ga naar logs/error.log voor een verwante fout. Ga als volgt te werk om het slechte replicatiepunt te wissen:

    1. Ga naar https://<host>:<port>/crx en meld u aan als beheerder. Ga in CQ5.5 naar https://<host>:<port>/crx/explorer.
    2. Klik op "Content Explorer".
    3. Klik in het venster Inhoudsverkenner op de vergrootglasknop rechtsboven in het venster en er verschijnt een zoekdialoogvenster.
    4. Selecteer het keuzerondje "XPath".
    5. Voer in het vak "Query" deze query/jcr:root/var/eventing/jobs//element(*,slingevent:Job)-volgorde in door @slingevent:created
    6. Klik op Zoeken
    7. In de resultaten zijn de bovenste items de meest recente sling-gebeurtenistaken. Klik op elke replicatie en zoek de geplakte replicaties die overeenkomen met wat boven in de wachtrij wordt weergegeven.
  2. Er kan iets mis zijn met het sling van de baanrijen van het gebeurteniskader. Start de bundel org.apache.sling.event opnieuw in de map/system/console.

  3. Het kan zijn dat de verwerking van werk volledig is uitgeschakeld. U kunt dat controleren onder Felix Console op het tabblad Gebeurtenis. Controleren of het scherm wordt weergegeven - Apache Sling Event (JOB PROCESSING IS UITGESCHAKELD!)

    • Als dat het geval is, schakelt u Apache Sling Job Event Handler in op het tabblad Configuration in Felix Console. Mogelijk is het selectievakje 'Taakverwerking ingeschakeld' uitgeschakeld. Als dat wordt gecontroleerd en nog steeds wordt weergegeven dat 'taakverwerking is uitgeschakeld', controleert u of er sprake is van een overlay onder /apps/system/config die de taakverwerking uitschakelt. Probeer een osgi:config-knooppunt voor jobmanager.enabled met een booleaanse waarde voor true te maken en controleer opnieuw of de activering is gestart en er geen taken meer in de wachtrij staan.
  4. Het zou ook het geval kunnen zijn dat de configuratie DefaultJobManager in een inconsistente staat krijgt. Dit kan gebeuren wanneer iemand handmatig de configuratie van de 'Apache Sling Job Event Handler' wijzigt via de OSGiconsole (Schakel bijvoorbeeld de eigenschap 'Job Processing Enabled' uit en schakel deze weer in en sla de configuratie op).

    • Op dit punt wordt de configuratie DefaultJobManager die in crx-quickstart/launchpad/config/org/apache/sling/event/impl/jobs/DefaultJobManager.config wordt opgeslagen in een inconsistente staat. En alhoewel het bezit van de Gebeurtenis van de Baan van de "Apache het Verdelen van de Baan van de Gebeurtenis"om in gecontroleerde staat toont te zijn toegelaten, wanneer men aan het Verschuivende lusje van de Gebeurtenis navigeert, toont het het bericht - DE VERWERKING VAN DE TAAK WORDT UITGESCHAKELD en de replicatie werkt niet.
    • Om deze kwestie op te lossen, zou men aan de pagina van de Configuratie van de console moeten navigeren OSGi en de "Apache Sling Job Event Handler"configuratie schrappen. Dan begin de Master knoop van de cluster opnieuw om de configuratie terug in een verenigbare staat te krijgen. Dit zou de kwestie moeten bevestigen en de replicatie zal beginnen opnieuw te werken.

Een replication.log maken

Soms kan het zeer nuttig zijn om al replicatieregistreren te plaatsen om in een afzonderlijk logboekdossier op het niveau van DEBUG worden toegevoegd. Dit doet u als volgt:

  1. Ga naar https://host:port/system/console/configMgr en meld u aan als beheerder.

  2. Zoek de Apache Sling Logging Logger-fabriek en maak een instantie door op de knop + rechts van de fabrieksconfiguratie te klikken. Hiermee wordt een nieuw logbestand gemaakt.

  3. Stel de configuratie als volgt in:

    • Logniveau: DEBUG
    • Pad logbestand: (CQ5.4 en 5.3) …/logs/replication.log (CQ5.5) logs/replication.log
    • Categorieën: com.day.cq.replication
  4. Als u vermoedt dat het probleem op enigerlei wijze te maken heeft met sling, kunt u dit Java-pakket ook toevoegen onder categorieën:org.apache.sling.event

Wachtrij van replicatieagent pauzeren

Soms kan het geschikt zijn om de replicatiewachtrij te pauzeren om de belasting van het auteursysteem te verminderen zonder deze uit te schakelen. Momenteel is dit alleen mogelijk door een hack van het tijdelijk configureren van een ongeldige poort. Vanaf 5.4 kon u pauzeknoop in replicatieagentenrij zien het één of andere beperking heeft

  1. De status blijft niet bestaan. Dit betekent dat als u een server opnieuw opstart of een replicatiebundel wordt gerecycled, de status weer actief wordt.
  2. De pauze is nutteloos voor een kortere periode (OOB 1 uur na geen activiteiten met replicatie door andere draden) en niet voor een langere tijd. Omdat er een functie in sling is die nutteloze draden vermijdt. Controleer in feite of een thread voor een taakwachtrij langer ongebruikt is, als dit het geval is, of er opschoningscycli zijn. Als gevolg van het opschoonprogramma stopt het de verbinding en daardoor gaat de gepauzeerde instelling verloren. Aangezien de banen worden voortgeduurd stelt het een nieuwe draad in werking om de rij te verwerken die geen details van de gepauzeerde configuratie heeft. Vanwege deze wachtrij wordt deze status ingeschakeld.

Paginamachtigingen worden niet gerepliceerd bij activering

Paginamachtigingen worden niet gerepliceerd omdat ze worden opgeslagen onder de knooppunten waartoe toegang wordt verleend, niet met de gebruiker.

In het algemeen mogen paginamachtigingen niet door de auteur worden gerepliceerd om te publiceren en zijn ze niet standaard. Dit komt doordat toegangsrechten in deze twee omgevingen verschillend moeten zijn. Daarom wordt het geadviseerd om ACLs bij te vormen publiceer afzonderlijk van auteur.

Replicatiereeks geblokkeerd tijdens replicatie van naamruimtegegevens van auteur naar publicatie

In sommige gevallen wordt de replicatiewachtrij geblokkeerd wanneer wordt geprobeerd naamruimtegegevens te repliceren van de auteurinstantie naar de publicatieinstantie. Dit gebeurt omdat de replicatiegebruiker geen jcr:namespaceManagement voorrecht heeft. Om dit probleem te voorkomen, moet u ervoor zorgen dat:

  • De replicatiegebruiker (zoals die onder Transport tab>User wordt gevormd) bestaat ook op de Publish instantie.
  • De gebruiker heeft lees- en schrijfrechten op het pad waar de inhoud is geïnstalleerd.
  • De gebruiker heeft jcr:namespaceManagement voorrecht op het niveau van de bewaarplaats. U kunt deze bevoegdheid als volgt toekennen:
  1. Meld u als beheerder aan bij CRX/DE ( http://localhost:4502/crx/de/index.jsp).
  2. Klik op Toegangsbeheer tabel.
  3. Selecteer Opslagplaats.
  4. Klik Bericht toevoegen (het plusteken).
  5. Voer de naam van de gebruiker in.
  6. Selecteer jcr:namespaceManagement in de lijst met bevoegdheden.
  7. Klik op OK.

Op deze pagina