Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Exception in Offline compaction of Oak segmentstore

Avatar

Level 3

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

1 Accepted Solution

Avatar

Correct answer by
Employee

Hi, this was a bug in OAK and has been fixed in oak-core 1.1.0. Please find more info at this link https://issues.apache.org/jira/browse/OAK-1759.

View solution in original post

8 Replies

Avatar

Correct answer by
Employee

Hi, this was a bug in OAK and has been fixed in oak-core 1.1.0. Please find more info at this link https://issues.apache.org/jira/browse/OAK-1759.

Avatar

Level 1

Unable to find jar for oak-core 1.1.0 .It would be great if you could provide the link from where it could be downloaded.

Avatar

Employee

The easier way is to raise a support ticket. 

Avatar

Level 2

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

Avatar

Employee

Hi Ashish,

as this is a dev instance, have you attempted offline compaction[1]?

Regards,

Opkar

[1]http://cq-ops.tumblr.com/post/106629820639/how-to-reclaim-wasted-crx3-storage-using-off-line

Avatar

Employee Advisor

It seems there is some corruption in the repository as it is not able to read a property value due to an unknown data type. I would recommend you to first run consistency check and see if you find any issues there first - http://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/consistency-check.html 

or try this command - 

curl -u admin:admin -X POST –data “workspace=crx.default&path=%2F&traversal=on&fixinconsistencies=on&log=off&datastoreconsistency=on” http://localhost:4502/system/console/repositorycheck

Avatar

Level 2

I had tried with consistency check before but it still didn't work out.

/Ashish

Avatar

Level 6

Hi Ashish,

As you are in latest version, can you install 1.0.16 Oak -core and run the same.