jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shashank Gupta (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (JCR-3805) LocalCache doesn't build up properly in JDK 7.
Date Mon, 18 Aug 2014 14:20:22 GMT

    [ https://issues.apache.org/jira/browse/JCR-3805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14100654#comment-14100654

Shashank Gupta edited comment on JCR-3805 at 8/18/14 2:19 PM:

The is concurrent store and init operation breaking the transitive relation {noformat}  A<B,
B< C => A<C {noformat}. The issue is [changed sorting algo in jdk 7|http://stackoverflow.com/questions/11441666/java-error-comparison-method-violates-its-general-contract]
which raises expecption to unsatishfied transitive relation. 
The workaround {{System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");}} reverts
to JDK 6 algorithm and thus resolves the issue. 

was (Author: shgupta):
the issue is [changed sorting algo in jdk 7|http://stackoverflow.com/questions/11441666/java-error-comparison-method-violates-its-general-contract].
The is concurrent store and init operation breaking the transitive relation {noformat}  A<B,
B< C => A<C {noformat}
The workaround {{System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");}} resolves
the issue. 

> LocalCache doesn't build up properly in JDK 7. 
> -----------------------------------------------
>                 Key: JCR-3805
>                 URL: https://issues.apache.org/jira/browse/JCR-3805
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>    Affects Versions: 2.8
>            Reporter: Shashank Gupta
>             Fix For: 2.8.1
>         Attachments: JCR-3803-3805.patch, JCR-3805-TestCase.patch
> In JDK 7 local cache build up shows following exception. This exception leads to local
cache not initializing properly and local cache exceeds its configured size and eventauly
exhausting disk. 
> {noformat}
> 17.08.2014 05:37:08.500 *INFO* [Apache Sling Job Background Loader] org.apache.sling.event
Service [QueueMBean for queue Granite Workflow Queue,2420] ServiceEvent REGISTERED
> 17.08.2014 05:37:08.502 *INFO* [Apache Sling Job Queue Granite Workflow Queue] org.apache.sling.event.impl.jobs.queues.TopicRoundRobinJobQueue.Granite
Workflow Queue Starting job queue Granite Workflow Queue
> 17.08.2014 05:37:10.329 *ERROR* [Thread-56] org.apache.sling.extensions.threaddump.internal.Activator
Uncaught exception in Thread Thread[Thread-56,5,main]
> java.lang.IllegalArgumentException: Comparison method violates its general contract!
>         at java.util.TimSort.mergeLo(TimSort.java:747)
>         at java.util.TimSort.mergeAt(TimSort.java:483)
>         at java.util.TimSort.mergeCollapse(TimSort.java:410)
>         at java.util.TimSort.sort(TimSort.java:214)
>         at java.util.TimSort.sort(TimSort.java:173)
>         at java.util.Arrays.sort(Arrays.java:659)
>         at java.util.Collections.sort(Collections.java:217)
>         at org.apache.jackrabbit.core.data.LocalCache$CacheBuildJob.run(LocalCache.java:559)
>         at java.lang.Thread.run(Thread.java:745)
> {noformat}

This message was sent by Atlassian JIRA

View raw message