Naviga il sito http://hostname:port/system/console/bundles e accedi come amministratore (nota che potrebbe essere necessario effettuare il login usando amministratore / amministratore invece della solita password perché il repository di Oak non è disponibile).
Problema
Quando si avvia AEM, si osserva l'errore sotto riportato e AEM non si avvia:
*ERROR* [FelixStartLevel] org.apache.jackrabbit.oak-core [org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService(87)] The activate method has thrown an exception (java.lang.IllegalStateException: RefId '7' doesn't exist in data segment 754dbe96-ad7f-4e58-a504-df1103bae4df. Creation date delta is 21 ms.) java.lang.IllegalStateException: RefId '7' doesn't exist in data segment 754dbe96-ad7f-4e58-a504-df1103bae4df. Creation date delta is 21 ms. at org.apache.jackrabbit.oak.plugins.segment.Segment.getRefId(Segment.java:230) at org.apache.jackrabbit.oak.plugins.segment.Segment.internalReadRecordId(Segment.java:342) at org.apache.jackrabbit.oak.plugins.segment.Segment.readRecordId(Segment.java:338) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getTemplateId(SegmentNodeState.java:70) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:79) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:381) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.getRoot(SegmentNodeStore.java:146) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.<init>(SegmentNodeStore.java:98) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.registerSegmentStore(SegmentNodeStoreService.java:333) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.registerNodeStore(SegmentNodeStoreService.java:236) at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.activate(SegmentNodeStoreService.java:231) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222) at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37) at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615) at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499) at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295) at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:302) at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:113) at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:832) at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:799) at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:724) at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:399) at org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:669) at org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:184) at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:332) at org.apache.felix.scr.impl.Activator.access$000(Activator.java:49) at org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:257) at org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259) at org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232) at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482) at org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415) at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232) at org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444) at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:913) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:834) at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:516) at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4531) at org.apache.felix.framework.Felix.startBundle(Felix.java:2169) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1368) at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) at java.lang.Thread.run(Thread.java:745)
Ambiente
AEM 6.1
Risoluzione
-
-
Cercare il mazzo "oak-core" e prendere nota della versione del bundle.
-
Scarica la versione del file jar oak-run che corrisponde alla tua versione di Oak [1] (ad esempio: se il tuo bundle oak-core è 1.2.18, hai bisogno di oak-run-1.2.18.jar).
-
Posizionare il file jar oak-run sul server AEM nella stessa directory del file jar AEM e della cartella crx-quickstart.
-
Ferma AEM.
-
Esegui il backup di tutti i file in /crx-quickstart/repository/segmentstore/.
Esegui il processo di riparazione:
-
Inizia effettuando un controllo di coerenza. Cerca all'indietro attraverso le revisioni del deposito fino a quando non ne trova una coerente:
$> java -jar oak-run-*.jar check -d1 --bin=-1 -p crx-quickstart/repository/segmentstore/
14:00:30.783 [main] INFO o.a.j.o.p.s.f.t.ConsistencyChecker - Found latest good revision afdb922d-ba53-4a1b-aa1b-1cb044b535cf:234880 -
Ripristina il repository alla buona revisione tramite modifica ./crx-quickstart/repository/segmentstore/journal.log e cancellare tutte le righe dopo la riga contenente l'ultima buona revisione.
ATTENZIONE: se l'ultima buona revisione è vecchia, questo processo può riportare i dati a una data e un'ora molto più vecchie.
-
Rimuovi tutto./crx-quickstart/repository/segmentstore/*.bak files.
-
Eseguire la pulizia dei checkpoint per rimuovere i checkpoint orfani:
java -jar oak-run-*.jar checkpoints ./crx-quickstart/repository/segmentstore rm-unreferenced
-
Esegui la compattazione offline nel repository.
java -jar oak-run-*.jar compact ./crx-quickstart/repository/segmentstore/
Accedi al tuo account