You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2013/11/27 16:47:35 UTC

[jira] [Commented] (OAK-1233) IllegalStateException in MergeSortedIterators

    [ https://issues.apache.org/jira/browse/OAK-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13833883#comment-13833883 ] 

Chetan Mehrotra commented on OAK-1233:
--------------------------------------

The exception is found for following series of revisions where r14298e4548d-0-1 > r14298e4442a-0-2 or in terms of timestamp 7086361-0-1 > 7082166-0-2

{noformat}
    final static String[][] TEST_DATA = {
            {
                    "r14298e4442a-0-2",
                    "r14298e443e5-0-2",
            },
            {
                    "r14298e4548d-0-1"
            },
    };
{noformat}

Looking for the revisions entries for above timestamps in the attached file show following details

{noformat}
2:p/oak:index/r14298e45a64-0-2===>7087856
{ "r14298e4442a-0-2" , "r14298e443e5-0-2" , "r14298e43aac-0-2" , "r14298e43a04-0-2" , "r14298e41db8-0-2" ,
 "r14298e40b53-0-2" , "r14298e4094f-0-2" , "r14298e3f701-0-2" , "r14298e3e2fa-0-2" , "r14298e3e23c-0-2" ,
 "r14298e3d83e-0-2" , "r14298e3d7be-0-2" , "r14298e3bc27-0-2" , "r14298e3a9b3-0-2" , "r14298e3a7a7-0-2" ,
 "r14298e3964a-0-2" , "r14298e39420-0-2" , "r14298e382ea-0-2" , "r14298e3809c-0-2" , "r14298e35b02-0-2" ,
 "r14298e35986-0-2" , "r14298e34640-0-2" , "r14298e345fc-0-2" , "r14298e33cb5-0-2" , "r14298e33c29-0-2" ,
 "r14298e320e3-0-2" , "r14298e2f97e-0-2" , "r14298e2d241-0-2" , "r14298e2d0ce-0-2" , "r14298e2bee9-0-2" ,
 "r14298e2aa03-0-2" , "r14298e2a9bc-0-2" , "r14298e29a47-0-2" , "r14298e282ef-0-2" , "r14298e282ac-0-2" ,
 "r14298e2792b-0-2" , "r14298e278a9-0-2" , "r14298e25c8a-0-2" , "r14298e24a23-0-2" ,
},
2:p/oak:index/r14298e4548d-0-1===>7086361
{ "r14298e4548d-0-1" , "r14298e4294d-0-1" , "r14298e41673-0-1" , "r14298e414a7-0-1" , "r14298e402ee-0-1" ,
 "r14298e40120-0-1" , "r14298e3ed95-0-1" , "r14298e3c83f-0-1" , "r14298e3b53b-0-1" , "r14298e3b2fd-0-1" ,
 "r14298e3a1fa-0-1" , "r14298e39f75-0-1" , "r14298e38e00-0-1" , "r14298e38bf0-0-1" , "r14298e37a5b-0-1" ,
 "r14298e37866-0-1" , "r14298e36737-0-1" , "r14298e364dd-0-1" , "r14298e351ee-0-1" , "r14298e35152-0-1" ,
 "r14298e32bdd-0-1" , "r14298e317db-0-1" , "r14298e316be-0-1" , "r14298e30afa-0-1" , "r14298e30a55-0-1" ,
 "r14298e2efac-0-1" , "r14298e2de47-0-1" , "r14298e2dc28-0-1" , "r14298e2caf0-0-1" , "r14298e2c8a0-0-1" ,
 "r14298e2b51a-0-1" , "r14298e2930a-0-1" , "r14298e268b4-0-1" , "r14298e2559f-0-1" , "r14298e2536d-0-1" ,
},
{noformat}

The corresponding entries in terms of numeric timestamp value

{noformat}
2:p/oak:index/r14298e45a64-0-2===>7087856
{ "7082166-0-2" , "7082097-0-2" , "7079736-0-2" , "7079568-0-2" , "7072324-0-2" ,
 "7067615-0-2" , "7067099-0-2" , "7062413-0-2" , "7057286-0-2" , "7057096-0-2" ,
 "7054538-0-2" , "7054410-0-2" , "7047347-0-2" , "7042623-0-2" , "7042099-0-2" ,
 "7037654-0-2" , "7037100-0-2" , "7032694-0-2" , "7032104-0-2" , "7022478-0-2" ,
 "7022098-0-2" , "7017164-0-2" , "7017096-0-2" , "7014721-0-2" , "7014581-0-2" ,
 "7007599-0-2" , "6997514-0-2" , "6987469-0-2" , "6987098-0-2" , "6982517-0-2" ,
 "6977167-0-2" , "6977096-0-2" , "6973139-0-2" , "6967163-0-2" , "6967096-0-2" ,
 "6964663-0-2" , "6964533-0-2" , "6957334-0-2" , "6952623-0-2" ,
},
2:p/oak:index/r14298e4548d-0-1===>7086361
{ "7086361-0-1" , "7075289-0-1" , "7070463-0-1" , "7070003-0-1" , "7065466-0-1" ,
 "7065004-0-1" , "7060001-0-1" , "7050443-0-1" , "7045575-0-1" , "7045001-0-1" ,
 "7040646-0-1" , "7040001-0-1" , "7035532-0-1" , "7035004-0-1" , "7030503-0-1" ,
 "7030002-0-1" , "7025603-0-1" , "7025001-0-1" , "7020154-0-1" , "7019998-0-1" ,
 "7010409-0-1" , "7005287-0-1" , "7005002-0-1" , "7001990-0-1" , "7001825-0-1" ,
 "6995000-0-1" , "6990547-0-1" , "6990004-0-1" , "6985596-0-1" , "6985004-0-1" ,
 "6980006-0-1" , "6971286-0-1" , "6960448-0-1" , "6955563-0-1" , "6955001-0-1" ,
},
{noformat}

> IllegalStateException in MergeSortedIterators
> ---------------------------------------------
>
>                 Key: OAK-1233
>                 URL: https://issues.apache.org/jira/browse/OAK-1233
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: mongomk
>    Affects Versions: 0.12
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>              Labels: cluster
>         Attachments: revisions.tar.gz
>
>
> While running Oak in a two node clutser following exception is seen. It basically comes because the AsynchUpdate tries to update async-status concurrently
> {noformat}
> 27.11.2013 17:56:35.507 *ERROR* [pool-5-thread-1] org.apache.sling.commons.scheduler.impl.QuartzScheduler Exception during job execution of org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate@fcf98c2 : com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Revisioned values for property 1:/oak:index/async-status: First element of next iterator must be greater than previous iterator
> com.google.common.util.concurrent.UncheckedExecutionException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Revisioned values for property 1:/oak:index/async-status: First element of next iterator must be greater than previous iterator
> 	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199) ~[na:na]
> 	at com.google.common.cache.LocalCache.get(LocalCache.java:3932) ~[na:na]
> 	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4721) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoMK.diff(MongoMK.java:165) ~[na:na]
> 	at org.apache.jackrabbit.oak.kernel.KernelNodeState.compareAgainstBaseState(KernelNodeState.java:481) ~[na:na]
> 	at org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:52) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:103) ~[na:na]
> 	at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105) ~[org.apache.sling.commons.scheduler:2.4.2]
> 	at org.quartz.core.JobRunShell.run(JobRunShell.java:207) [org.apache.sling.commons.scheduler:2.4.2]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_40]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_40]
> 	at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40]
> Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Revisioned values for property 1:/oak:index/async-status: First element of next iterator must be greater than previous iterator
> 	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199) ~[na:na]
> 	at com.google.common.cache.LocalCache.get(LocalCache.java:3932) ~[na:na]
> 	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4721) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoNodeStore.getNode(MongoNodeStore.java:507) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoMK.diffFewChildren(MongoMK.java:313) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoMK.diffImpl(MongoMK.java:229) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoMK$1.call(MongoMK.java:168) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoMK$1.call(MongoMK.java:165) ~[na:na]
> 	at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4724) ~[na:na]
> 	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522) ~[na:na]
> 	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315) ~[na:na]
> 	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278) ~[na:na]
> 	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193) ~[na:na]
> 	... 11 common frames omitted
> Caused by: java.lang.IllegalStateException: Revisioned values for property 1:/oak:index/async-status: First element of next iterator must be greater than previous iterator
> 	at org.apache.jackrabbit.oak.plugins.mongomk.util.MergeSortedIterators.fetchNextIterator(MergeSortedIterators.java:103) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.util.MergeSortedIterators.next(MergeSortedIterators.java:85) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.NodeDocument.getLatestValue(NodeDocument.java:1041) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.NodeDocument.getNodeAtRevision(NodeDocument.java:456) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoNodeStore.readNode(MongoNodeStore.java:653) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoNodeStore.access$000(MongoNodeStore.java:80) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoNodeStore$2.call(MongoNodeStore.java:510) ~[na:na]
> 	at org.apache.jackrabbit.oak.plugins.mongomk.MongoNodeStore$2.call(MongoNodeStore.java:507) ~[na:na]
> 	at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4724) ~[na:na]
> 	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522) ~[na:na]
> 	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315) ~[na:na]
> 	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278) ~[na:na]
> 	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193) ~[na:na]
> 	... 23 common frames omitted
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)