Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
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.