Exception in Offline compaction of Oak segmentstore

Avatar

Avatar

radhikak8817019

Avatar

radhikak8817019

radhikak8817019

15-10-2015

Hi All,

As part of cleaning up the repository we tried to do the offline compaction, Please find below the steps we followed :

To see the full effect of the online compaction later, just remove the checkpoints and don't actually run the offline compaction.

  • Stop  AEM instance
  • run the oak-run.jar  to find any old checkpoints : we are using oak-run-1.0.8.jar

         java -jar oak-run-1.0.8.jar checkpoints your-install-folder/crx-quickstart/repository/segmentstore

We are getting the below exception

Exception in thread "main" java.lang.IllegalStateException
        at com.google.common.base.Preconditions.checkState(Preconditions.java:134)
        at org.apache.jackrabbit.oak.plugins.segment.Segment.<init>(Segment.java:129)
        at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.readSegment(FileStore.java:626)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentTracker.getSegment(SegmentTracker.java:117)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentId.getSegment(SegmentId.java:97)
        at org.apache.jackrabbit.oak.plugins.segment.Record.getSegment(Record.java:82)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getTemplate(SegmentNodeState.java:74)
        at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:334)
        at org.apache.jackrabbit.oak.run.Main.checkpoints(Main.java:383)
        at org.apache.jackrabbit.oak.run.Main.main(Main.java:139)

Kindly suggest if we are missing something?

Thanks,

RK

View Entire Topic

Avatar

Avatar

AshishSPanwar-a

Avatar

AshishSPanwar-a

AshishSPanwar-a

15-10-2015

Hi,

I facing similar issue while executing following command:

java -jar oak-run.jar compact crx-quickstart/repository/segmentstore

I have AEM 6.0 with SP2 and other required hotfixes installed. Oak repo version 1.0.15 and I'm using the oak-run tool version 1.0.13, as recommended in official documentation.

Error stack trace:-

-> compacting

Exception in thread "main" java.lang.UnsupportedOperationException: Unknown type: UNDEFINED

    at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.getValue(SegmentPropertyState.java:188)

    at org.apache.jackrabbit.oak.plugins.segment.SegmentPropertyState.getValue(SegmentPropertyState.java:140)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor.compact(Compactor.java:194)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor.access$000(Compactor.java:49)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.propertyAdded(Compactor.java:115)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:155)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.childNodeAdded(Compactor.java:137)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.childNodeAdded(Compactor.java:137)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.childNodeAdded(Compactor.java:137)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.childNodeAdded(Compactor.java:137)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.childNodeAdded(Compactor.java:137)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor$CompactDiff.childNodeAdded(Compactor.java:137)

    at org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.compareAgainstEmptyState(EmptyNodeState.java:160)

    at org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:434)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor.process(Compactor.java:92)

    at org.apache.jackrabbit.oak.plugins.segment.Compactor.compact(Compactor.java:97)

    at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.compact(FileStore.java:687)

    at org.apache.jackrabbit.oak.run.Main.compact(Main.java:365)

    at org.apache.jackrabbit.oak.run.Main.main(Main.java:130)

Though the repository is not growing as fast as some people have reported, I do feel that its current size of around 25GB is still quite a lot compared to the amount of data being generated on a daily basis and this too on a developer machine.
Could anyone advise on how to proceed from here?

/Ashish