Felsökning av replikering troubleshooting-replication
Den här sidan innehåller information om hur du felsöker replikeringsproblem.
Problem problem
Replikering (icke-omvänd replikering) misslyckas av någon anledning.
Upplösning resolution
Det finns olika orsaker till att replikeringen misslyckas. I den här artikeln förklaras den metod som kan användas vid analys av dessa problem.
Utlöses replikeringar överhuvudtaget när du klickar på knappen Aktivera? Om INTE, gör du följande:
- Gå till
/crx/exploreroch logga in somadmin. - Öppna “Innehållsutforskaren”
- Kontrollera om det finns en nod
/bin/replicateeller/bin/replicate.json. Om noden finns tar du bort den och sparar den.
köas replikeringarna i replikeringsagentköerna?
Kontrollera detta genom att gå till /etc/replication/agents.author.html och sedan klicka på replikeringsagenterna för att kontrollera.
Om en agentkö eller ett fåtal agentköer har fastnat:
-
Visar kön status Blockerad? Om så är fallet, körs inte publiceringsinstansen eller svarar den inte? Kontrollera publiceringsinstansen för att se vad som är fel med den. Kontrollera loggarna och se om det finns ett OutOfMemory-fel eller något annat problem. Om det bara är långsamt tar du tråd och analyserar dem.
-
Visar köstatusen Kön är aktiv - # väntande? Replikeringsjobbet kan ha fastnat i en socketläsning i väntan på att publiceringsinstansen eller Dispatcher ska svara. Det kan innebära att publiceringsinstansen eller Dispatcher är under hög belastning eller sitter fast i ett lås. Ta tråddumpar från författaren och publicera i det här fallet.
- Öppna trådsdumpar från författaren i en tråddumpsanalyserare, kontrollera om det visar att replikeringsagentens snedningsjobb har fastnat i en socketRead.
- Öppna trådsdumpar från publicering i en tråddumpsanalys och analysera vad som kan göra att publiceringsinstansen inte svarar. Du bör se en tråd med POST
/bin/receivei namnet. Det är den tråd som tar emot replikeringen från författaren.
Om alla agentköer har fastnat
-
Det är möjligt att en viss del av innehållet inte kan serialiseras under /var/replication/data på grund av att databasen är skadad eller något annat problem. Kontrollera om det finns ett relaterat fel i logs/error.log. Så här rensar du bort det felaktiga replikeringsobjektet:
- Gå till
https://<host>:<port>/crx/deoch logga in som admin-användare. - Klicka på"Verktyg" i den övre menyn.
- Klicka på knappen för förstoringsglas.
- Välj “XPath” som Typ.
- I rutan Fråga anger du den här frågan
/jcr:root/var/eventing/jobs//element(*,slingevent:Job) order by @slingevent:created - Klicka på Sök.
- I resultatet är de viktigaste objekten de senaste snedsättningsjobben. Klicka på var och en och hitta de kvarvarande replikeringar som matchar det som visas högst upp i kön.
- Gå till
-
Det kan vara något fel med att snedställa jobbköer i utvecklingsramverket. Försök starta om paketet
org.apache.sling.eventi/system/console. -
Det kan bero på att jobbbearbetningen är avstängd. Det kan du kolla under Felix Console på fliken Sling Eventing. Kontrollera om den visas - Apache Sling Eventing (JOBBBEARBETNING ÄR INAKTIVERAD!)
- Om ja, kontrollera Apache Sling Job Event Handler på fliken Konfiguration i Felix Console. Kryssrutan Jobbbearbetning aktiverad kan avmarkeras. Om det är markerat och fortfarande visas att jobbbearbetning är inaktiverad, kontrollerar du om det finns någon övertäckning under
/apps/system/configsom inaktiverar jobbbearbetningen. Försök att skapa enosgi:config-nod förjobmanager.enabledmed det booleska värdettrueoch kontrollera om aktiveringen har startat och det inte finns några fler jobb i kön.
- Om ja, kontrollera Apache Sling Job Event Handler på fliken Konfiguration i Felix Console. Kryssrutan Jobbbearbetning aktiverad kan avmarkeras. Om det är markerat och fortfarande visas att jobbbearbetning är inaktiverad, kontrollerar du om det finns någon övertäckning under
-
Det kan också vara så att DefaultJobManager-konfigurationen försätts i ett inkonsekvent tillstånd. Detta kan inträffa när någon manuellt ändrar konfigurationen av “Apache Sling Job Event Handler” via OSGi-konsolen (t.ex. inaktivera och återaktivera egenskapen “Jobbbearbetning aktiverad” och spara konfigurationen).
- I det här läget försätts den DefaultJobManager-konfiguration som lagras på
crx-quickstart/launchpad/config/org/apache/sling/event/impl/jobs/DefaultJobManager.configi ett inkonsekvent tillstånd. Och även om egenskapen “Apache Sling Job Event Handler” visar att “Job Processing Enabled” är i markerat läge, visas meddelandet “Job Processing Enabled” (Jobbbearbetning är inaktiverat) när man går till fliken Sling Eventing Eventing, och replikeringen fungerar inte. - Du löser det här problemet genom att navigera till konfigurationssidan för OSGi-konsolen och ta bort konfigurationen Apache Sling Job Event Handler. Starta sedan om klusternoden för att få tillbaka konfigurationen till ett konsekvent tillstånd. Detta bör åtgärda problemet och få replikeringen att börja fungera igen.
- I det här läget försätts den DefaultJobManager-konfiguration som lagras på
Skapa en replikering.log
Ibland kan det vara praktiskt att ange att all replikeringsloggning ska läggas till i en separat loggfil på DEBUG-nivå. Så här gör du:
-
Gå till
https://<host>:<port>/system/console/configMgroch logga in som administratörsanvändare. -
Hitta Apache Sling Logging Logger-fabriken och skapa en instans genom att klicka på knappen + till höger om fabrikskonfigurationen. Detta skapar en ny loggningslogg.
-
Ställ in konfigurationen så här:
- Loggnivå:
DEBUG - Loggfilens sökväg:
logs/replication.log - Kategorier:
com.day.cq.replication
- Loggnivå:
-
Om du på något sätt misstänker att problemet är relaterat till snedhändelser/jobb kan du även lägga till denna Java; paket under
categories:org.apache.sling.event.
Pausar kön för replikeringsagent pausing-replication-agent-queue
Ibland kan det vara lämpligt att pausa replikeringskön för att minska belastningen på författarsystemet, utan att inaktivera den. Detta är för närvarande endast möjligt om en port konfigureras tillfälligt. Från och med 5.4 finns det en pausknapp i replikeringsagentkön med vissa begränsningar:
- Läget är inte beständigt. Det innebär att om du startar om en server eller om ett replikeringspaket återvinns, återgår det till körningsläge.
- Pausen är inaktiv under en kortare period (OOB 1 timme efter inga aktiviteter med replikering av andra trådar). Detta beror på att det finns en funktion i Sling som undviker inaktiva trådar. Kontrollera om en jobbkötråd har använts länge. I så fall börjar det rensa upp cyklerna. På grund av rensningscykeln stoppas kopplingen och därför försvinner den pausade inställningen. Eftersom jobb är beständiga initieras en ny tråd för att bearbeta kön, som inte har information om den pausade konfigurationen. På grund av detta försätts kön i ett körläge.
Sidbehörigheter replikeras inte vid användaraktivering page-permissions-are-not-replicated-on-user-activation
Sidbehörigheter replikeras inte eftersom de lagras under noderna som åtkomst beviljas till, inte med användaren.
I allmänhet bör sidbehörigheter inte replikeras från författaren till publiceringen och är inte standard. Detta beror på att åtkomsträttigheterna bör vara olika i dessa två miljöer. Därför rekommenderar Adobe att du konfigurerar åtkomstkontrollistor vid publicering, separat från författaren.
Replikeringskön har blockerats vid replikering av namnområdesinformation från författare till publicering replication-queue-blocked-when-replicating-namespace-information-from-author-to-publish
Ibland blockeras replikeringskön vid försök att replikera namnområdesinformation från författarinstansen till publiceringsinstansen. Detta inträffar eftersom replikeringsanvändaren inte har privilegiet jcr:namespaceManagement. Undvik problemet genom att se till att:
- Replikeringsanvändaren (som den har konfigurerats under fliken Transport>Användare) finns också på Publish-instansen.
- Användaren har läs- och skrivbehörighet på sökvägen där innehållet är installerat.
- Användaren har privilegiet
jcr:namespaceManagementpå databasnivå. Du kan bevilja privilegiet enligt följande:
- Logga in på CRX/DE (
https://<host>:<port>/crx/de/index.jsp) som administratör. - Klicka på fliken Åtkomstkontroll.
- Välj Databas.
- Klicka på Lägg till post (plusikonen).
- Ange användarens namn.
- Välj
jcr:namespaceManagementi listan över privilegier. - Klicka på OK.