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 "Marcel Reutegger (JIRA)" <ji...@apache.org> on 2013/11/11 12:25:18 UTC

[jira] [Created] (OAK-1166) Warnings on concurrent async index update

Marcel Reutegger created OAK-1166:
-------------------------------------

             Summary: Warnings on concurrent async index update
                 Key: OAK-1166
                 URL: https://issues.apache.org/jira/browse/OAK-1166
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: core, mongomk, query
    Affects Versions: 0.10
            Reporter: Marcel Reutegger
            Priority: Minor


When running oak in a cluster of two MongoMK instances the async index updater logs warnings:

{noformat}
11.11.2013 11:50:11.642 *WARN* [pool-6-thread-3] org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate Index status update async failed org.apache.jackrabbit.oak.api.CommitFailedException: OakKernel0001: Failed to merge changes to the underlying MicroKernel
	at org.apache.jackrabbit.oak.kernel.KernelNodeStoreBranch.merge(KernelNodeStoreBranch.java:130)
	at org.apache.jackrabbit.oak.kernel.KernelRootBuilder.merge(KernelRootBuilder.java:140)
	at org.apache.jackrabbit.oak.kernel.KernelNodeStore.merge(KernelNodeStore.java:164)
	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.preAsyncRun(AsyncIndexUpdate.java:148)
	at org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:89)
	at org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:105)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:207)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.jackrabbit.mk.api.MicroKernelException: Exception committing ^"/oak:index/async-status":"\"running\""^"/oak:index/async-done":null^"/oak:index/async-start":"\"dat:2013-11-11T11:50:11.545+01:00\""
	at org.apache.jackrabbit.oak.plugins.mongomk.Commit.applyToDocumentStore(Commit.java:279)
	at org.apache.jackrabbit.oak.plugins.mongomk.Commit.applyToDocumentStore(Commit.java:165)
	at org.apache.jackrabbit.oak.plugins.mongomk.Commit.apply(Commit.java:148)
	at org.apache.jackrabbit.oak.plugins.mongomk.MongoNodeStore.apply(MongoNodeStore.java:841)
	at org.apache.jackrabbit.oak.plugins.mongomk.MongoMK.commit(MongoMK.java:402)
	at org.apache.jackrabbit.oak.kernel.KernelNodeStore.commit(KernelNodeStore.java:249)
	at org.apache.jackrabbit.oak.kernel.KernelNodeStoreBranch.persist(KernelNodeStoreBranch.java:103)
	at org.apache.jackrabbit.oak.kernel.KernelNodeStoreBranch.persist(KernelNodeStoreBranch.java:42)
	at org.apache.jackrabbit.oak.spi.state.AbstractNodeStoreBranch$InMemory.merge(AbstractNodeStoreBranch.java:394)
	at org.apache.jackrabbit.oak.spi.state.AbstractNodeStoreBranch.merge(AbstractNodeStoreBranch.java:219)
	at org.apache.jackrabbit.oak.kernel.KernelNodeStoreBranch.merge(KernelNodeStoreBranch.java:128)	... 9 more
Caused by: org.apache.jackrabbit.mk.api.MicroKernelException: The node 1:/oak:index was changed in revisionr14246c874ba-0-1, which was applied after the base revision r14246c87022-0-2, beforer14246c874f6-2-2; document:{_lastRev={r0-0-2=r14246c86fe2-0-2, r0-0-1=r14246c84f84-0-1},async-status={r14246c874ba-0-1="running", r14246c860b5-0-2="done", r14246c85e48-0-2="running", r14246c84f84-0-1="done", [..<removed>..]},jcr:primaryType={r142469d53d6-0-1="nam:nt:unstructured"}},revision order:1: r14246c701fa-0-1:r14246c70cd4-1-0 r14246c71571-0-1:r14246c718b8-1-0 r14246c716f9-0-1:r14246c71cd5-1-0 r14246c72975-0-1:r14246c73232-1-0 r14246c72975-0-1:r14246c73492-1-0 r14246c73c38-0-1:r14246c740aa-1-0 r14246c74711-0-1:r14246c74d40-1-0 r14246c751a6-0-1:r14246c75512-1-0 r14246c75560-0-1:r14246c75578-1-0 r14246c75560-0-1:r14246c75902-1-0 r14246c76348-0-1:r14246c769a1-1-0 r14246c77fd1-0-1:r14246c78237-0-0 r14246c78c31-0-1:r14246c79210-1-0 r14246c79f51-0-1:r14246c7a283-1-0 r14246c7b16f-0-1:r14246c7b617-1-0 r14246c7c6be-0-1:r14246c7c9a3-1-0 r14246c7d691-0-1:r14246c7d946-1-0 r14246c7dbfd-0-1:r14246c7e502-1-0 r14246c7ecb1-0-1:r14246c7f0bd-1-0 r14246c80166-0-1:r14246c8044e-1-0 r14246c81376-0-1:r14246c817f6-1-0 r14246c81ce4-0-1:r14246c81da1-1-0 r14246c81ce4-0-1:r14246c81fd6-1-0 r14246c82d36-0-1:r14246c82e85-1-0 r14246c82d36-0-1:r14246c83397-1-0 r14246c830c7-0-1:r14246c83782-1-0 r14246c83581-0-1:r14246c8390f-1-0 r14246c83581-0-1:r14246c83b9f-1-0 r14246c83c84-0-1:r14246c83e32-1-0 r14246c83cc1-0-1:r14246c8437c-1-0 r14246c84da8-0-1:r14246c84e2b-1-0 r14246c84f84-0-1:r14246c85406-1-0 r14246c84f84-0-1:r14246c85725-1-0 r14246c85f9d-0-1:r14246c866d4-1-0 r14246c874ba-0-1:r14246c87505-1-02: r14246c70cd8-0-2:r14246c70cd4-0-0 r14246c70cd8-1-2:r14246c70cd9-0-0 r14246c718ec-0-2:r14246c718b8-0-0 r14246c71ce9-0-2:r14246c71cd5-0-0 r14246c72d59-0-2:r14246c73232-0-0 r14246c73203-0-2:r14246c73232-2-0 r14246c73496-0-2:r14246c73492-0-0 r14246c740b1-0-2:r14246c740aa-0-0 r14246c74d41-0-2:r14246c74d40-0-0 r14246c75515-0-2:r14246c75512-0-0 r14246c75515-1-2:r14246c75578-0-0 r14246c75572-0-2:r14246c75578-2-0 r14246c75907-0-2:r14246c75902-0-0 r14246c769ab-0-2:r14246c769a1-0-0 r14246c78238-0-2:r14246c78236-0-0 r14246c79211-0-2:r14246c79210-0-0 r14246c7a285-0-2:r14246c7a283-0-0 r14246c7b617-2-2:r14246c7b617-0-0 r14246c7c9a4-0-2:r14246c7c9a3-0-0 r14246c7d947-0-2:r14246c7d946-0-0 r14246c7e503-0-2:r14246c7e502-0-0 r14246c7f0bd-2-2:r14246c7f0bd-0-0 r14246c8044e-2-2:r14246c8044e-0-0 r14246c817f8-0-2:r14246c817f6-0-0 r14246c81c61-0-2:r14246c81da1-0-0 r14246c81d69-0-2:r14246c81da1-2-0 r14246c81fd6-2-2:r14246c81fd6-0-0 r14246c823bc-0-2:r14246c82e85-0-0 r14246c82e83-0-2:r14246c82e85-2-0 r14246c83398-0-2:r14246c83397-0-0 r14246c837b3-0-2:r14246c83782-0-0 r14246c837b3-1-2:r14246c8390f-0-0 r14246c83905-0-2:r14246c8390f-2-0 r14246c83ba1-0-2:r14246c83b9f-0-0 r14246c83ba1-1-2:r14246c83e32-0-0 r14246c83e24-0-2:r14246c83e32-2-0 r14246c8437d-0-2:r14246c8437c-0-0 r14246c84ac0-0-2:r14246c84e2b-0-0 r14246c84cb1-0-2:r14246c84e2b-2-0 r14246c84fe8-0-2:r14246c85406-0-0 r14246c85401-0-2:r14246c85406-2-0 r14246c85726-0-2:r14246c85725-0-0 r14246c86700-0-2:r14246c866d4-0-0 r14246c87022-0-2:r14246c87505-0-0 r14246c874f6-2-2:r14246c87505-2-0
	at org.apache.jackrabbit.oak.plugins.mongomk.Commit.createOrUpdateNode(Commit.java:382)
	at org.apache.jackrabbit.oak.plugins.mongomk.Commit.applyToDocumentStore(Commit.java:272)	... 19 more
{noformat}

I think the problem is that a rebase with MongoMK does not guarantee a cluster node sees changes from another cluster node immediately. There is a delay when changes from another cluster nodes become visible. This is probably why the concurrent index update detection fails in AsyncIndexUpdate.run().



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