You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Michael Dürig <md...@apache.org> on 2012/07/25 10:48:47 UTC

Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Hi,

While running the integration tests locally I got the following failure. 
Seems to be a transient issue since it went away on the 2nd try.

Michael

-------------------------------------------------------------------------------
Test set: org.apache.jackrabbit.oak.jcr.JcrTckIT
-------------------------------------------------------------------------------
Tests run: 1906, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
217.939 sec <<< FAILURE!
testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest) 
Time elapsed: 30.567 sec  <<< ERROR!
org.apache.jackrabbit.mk.api.MicroKernelException: 
org.apache.jackrabbit.mk.store.NotFoundException: 000000000009d2e3
	at 
org.apache.jackrabbit.mk.core.MicroKernelImpl.getNodes(MicroKernelImpl.java:348)
	at 
org.apache.jackrabbit.oak.kernel.KernelNodeState.init(KernelNodeState.java:94)
	at 
org.apache.jackrabbit.oak.kernel.KernelNodeState.getProperty(KernelNodeState.java:138)
	at 
org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStateBuilder.getProperty(MemoryNodeStateBuilder.java:244)
	at org.apache.jackrabbit.oak.core.TreeImpl.getProperty(TreeImpl.java:121)
	at 
org.apache.jackrabbit.oak.jcr.NodeDelegate.getProperty(NodeDelegate.java:140)
	at org.apache.jackrabbit.oak.jcr.NodeImpl.hasProperty(NodeImpl.java:674)
	at 
org.apache.jackrabbit.oak.jcr.NodeImpl.getPrimaryNodeType(NodeImpl.java:702)
	at org.apache.jackrabbit.oak.jcr.NodeImpl.isNodeType(NodeImpl.java:748)
	at 
org.apache.jackrabbit.test.api.query.qom.SelectorTest$1.call(SelectorTest.java:49)
	at 
org.apache.jackrabbit.test.api.query.qom.AbstractQOMTest.forQOMandSQL2(AbstractQOMTest.java:210)
	at 
org.apache.jackrabbit.test.api.query.qom.SelectorTest.testSelector(SelectorTest.java:40)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at junit.framework.TestCase.runTest(TestCase.java:168)
	at junit.framework.TestCase.runBare(TestCase.java:134)
	at junit.framework.TestResult$1.protect(TestResult.java:110)
	at junit.framework.TestResult.runProtected(TestResult.java:128)
	at junit.framework.TestResult.run(TestResult.java:113)
	at junit.framework.TestCase.run(TestCase.java:124)
	at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
	at junit.framework.TestSuite.runTest(TestSuite.java:243)
	at junit.framework.TestSuite.run(TestSuite.java:238)
	at junit.framework.TestSuite.runTest(TestSuite.java:243)
	at junit.framework.TestSuite.run(TestSuite.java:238)
	at junit.framework.TestSuite.runTest(TestSuite.java:243)
	at 
org.apache.jackrabbit.test.ConcurrentTestSuite.access$001(ConcurrentTestSuite.java:29)
	at 
org.apache.jackrabbit.test.ConcurrentTestSuite$2.run(ConcurrentTestSuite.java:67)
	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown 
Source)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.jackrabbit.mk.store.NotFoundException: 
000000000009d2e3
	at 
org.apache.jackrabbit.mk.persistence.H2Persistence.readCommit(H2Persistence.java:174)
	at 
org.apache.jackrabbit.mk.store.DefaultRevisionStore.getCommit(DefaultRevisionStore.java:373)
	at 
org.apache.jackrabbit.mk.store.DefaultRevisionStore.getRootNode(DefaultRevisionStore.java:381)
	at 
org.apache.jackrabbit.mk.core.Repository.getNodeState(Repository.java:168)
	at 
org.apache.jackrabbit.mk.core.MicroKernelImpl.getNodes(MicroKernelImpl.java:339)
	... 31 more

Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Michael Dürig <md...@apache.org>.

On 25.7.12 10:12, Dominique Pfister wrote:
> Hi,
>
> On Jul 25, 2012, at 11:01 AM, Jukka Zitting wrote:
>
>> Hi,
>>
>> On Wed, Jul 25, 2012 at 10:48 AM, Michael Dürig <md...@apache.org> wrote:
>>> While running the integration tests locally I got the following failure.
>>> Seems to be a transient issue since it went away on the 2nd try.
>>
>> I've noticed something similar every now and then. I suspect it's a
>> consequence of the garbage collector being too aggressive in
>> reclaiming old revisions that are still being referenced by the test
>> cases.
>
> The garbage collector currently keeps commits that were created within 60 minutes of the current head commit's creation time: do the integration tests run for such a long time?

No, the integration tests only take a couple of minutes.

Michael

>
> Dominique
>
>>
>> BR,
>>
>> Jukka Zitting
>

Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Thu, Jul 26, 2012 at 3:34 PM, Jukka Zitting <ju...@gmail.com> wrote:
> The fact that these failures are non-deterministic strongly suggests
> at least some link to the background thread used by the garbage
> collector. Perhaps a synchronization issue like OAK-187?

I filed OAK-216 to track this problem. See the issue for instructions
to reliably reproduce the problem.

BR,

Jukka Zitting

Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Wed, Jul 25, 2012 at 3:39 PM, Jukka Zitting <ju...@gmail.com> wrote:
> Then it's probably some other bug in the MicroKernel. For some reason
> it's no longer finding a revision that was there before.

A few more examples in the CI build failures today:
http://ci.apache.org/builders/oak-trunk/builds/223
http://travis-ci.org/#!/apache/jackrabbit-oak/builds/1956575

The fact that these failures are non-deterministic strongly suggests
at least some link to the background thread used by the garbage
collector. Perhaps a synchronization issue like OAK-187?

BR,

Jukka Zitting

Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Wed, Jul 25, 2012 at 11:12 AM, Dominique Pfister <dp...@adobe.com> wrote:
> The garbage collector currently keeps commits that were created within 60 minutes of
> the current head commit's creation time: do the integration tests run for such a long time?

Then it's probably some other bug in the MicroKernel. For some reason
it's no longer finding a revision that was there before.

BR,

Jukka Zitting

Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Dominique Pfister <dp...@adobe.com>.
Hi,

On Jul 25, 2012, at 11:01 AM, Jukka Zitting wrote:

> Hi,
> 
> On Wed, Jul 25, 2012 at 10:48 AM, Michael Dürig <md...@apache.org> wrote:
>> While running the integration tests locally I got the following failure.
>> Seems to be a transient issue since it went away on the 2nd try.
> 
> I've noticed something similar every now and then. I suspect it's a
> consequence of the garbage collector being too aggressive in
> reclaiming old revisions that are still being referenced by the test
> cases.

The garbage collector currently keeps commits that were created within 60 minutes of the current head commit's creation time: do the integration tests run for such a long time?

Dominique

> 
> BR,
> 
> Jukka Zitting


Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

On Wed, Jul 25, 2012 at 10:48 AM, Michael Dürig <md...@apache.org> wrote:
> While running the integration tests locally I got the following failure.
> Seems to be a transient issue since it went away on the 2nd try.

I've noticed something similar every now and then. I suspect it's a
consequence of the garbage collector being too aggressive in
reclaiming old revisions that are still being referenced by the test
cases.

BR,

Jukka Zitting

Re: Test failure: testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest

Posted by Michael Dürig <md...@apache.org>.
This just happened again. This time on the CI build server: 
http://ci.apache.org/builders/oak-trunk/builds/223

Michael

-------------------------------------------------------
  T E S T S
-------------------------------------------------------
Running org.apache.jackrabbit.oak.jcr.JcrTckIT
Tests run: 1906, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 
140.986 sec <<< FAILURE!

Results :

Tests in error:
 
testGetDeclaredSubtypes(org.apache.jackrabbit.test.api.nodetype.NodeTypeTest): 
org.apache.jackrabbit.mk.store.NotFoundException: 000000000009368c


On 25.7.12 9:48, Michael Dürig wrote:
>
> Hi,
>
> While running the integration tests locally I got the following failure.
> Seems to be a transient issue since it went away on the 2nd try.
>
> Michael
>
> -------------------------------------------------------------------------------
>
> Test set: org.apache.jackrabbit.oak.jcr.JcrTckIT
> -------------------------------------------------------------------------------
>
> Tests run: 1906, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> 217.939 sec <<< FAILURE!
> testSelector(org.apache.jackrabbit.test.api.query.qom.SelectorTest) Time
> elapsed: 30.567 sec  <<< ERROR!
> org.apache.jackrabbit.mk.api.MicroKernelException:
> org.apache.jackrabbit.mk.store.NotFoundException: 000000000009d2e3
>      at
> org.apache.jackrabbit.mk.core.MicroKernelImpl.getNodes(MicroKernelImpl.java:348)
>
>      at
> org.apache.jackrabbit.oak.kernel.KernelNodeState.init(KernelNodeState.java:94)
>
>      at
> org.apache.jackrabbit.oak.kernel.KernelNodeState.getProperty(KernelNodeState.java:138)
>
>      at
> org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStateBuilder.getProperty(MemoryNodeStateBuilder.java:244)
>
>      at
> org.apache.jackrabbit.oak.core.TreeImpl.getProperty(TreeImpl.java:121)
>      at
> org.apache.jackrabbit.oak.jcr.NodeDelegate.getProperty(NodeDelegate.java:140)
>
>      at
> org.apache.jackrabbit.oak.jcr.NodeImpl.hasProperty(NodeImpl.java:674)
>      at
> org.apache.jackrabbit.oak.jcr.NodeImpl.getPrimaryNodeType(NodeImpl.java:702)
>
>      at
> org.apache.jackrabbit.oak.jcr.NodeImpl.isNodeType(NodeImpl.java:748)
>      at
> org.apache.jackrabbit.test.api.query.qom.SelectorTest$1.call(SelectorTest.java:49)
>
>      at
> org.apache.jackrabbit.test.api.query.qom.AbstractQOMTest.forQOMandSQL2(AbstractQOMTest.java:210)
>
>      at
> org.apache.jackrabbit.test.api.query.qom.SelectorTest.testSelector(SelectorTest.java:40)
>
>      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>      at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>      at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
>      at java.lang.reflect.Method.invoke(Method.java:597)
>      at junit.framework.TestCase.runTest(TestCase.java:168)
>      at junit.framework.TestCase.runBare(TestCase.java:134)
>      at junit.framework.TestResult$1.protect(TestResult.java:110)
>      at junit.framework.TestResult.runProtected(TestResult.java:128)
>      at junit.framework.TestResult.run(TestResult.java:113)
>      at junit.framework.TestCase.run(TestCase.java:124)
>      at
> org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:456)
>      at junit.framework.TestSuite.runTest(TestSuite.java:243)
>      at junit.framework.TestSuite.run(TestSuite.java:238)
>      at junit.framework.TestSuite.runTest(TestSuite.java:243)
>      at junit.framework.TestSuite.run(TestSuite.java:238)
>      at junit.framework.TestSuite.runTest(TestSuite.java:243)
>      at
> org.apache.jackrabbit.test.ConcurrentTestSuite.access$001(ConcurrentTestSuite.java:29)
>
>      at
> org.apache.jackrabbit.test.ConcurrentTestSuite$2.run(ConcurrentTestSuite.java:67)
>
>      at
> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
>      at java.lang.Thread.run(Thread.java:680)
> Caused by: org.apache.jackrabbit.mk.store.NotFoundException:
> 000000000009d2e3
>      at
> org.apache.jackrabbit.mk.persistence.H2Persistence.readCommit(H2Persistence.java:174)
>
>      at
> org.apache.jackrabbit.mk.store.DefaultRevisionStore.getCommit(DefaultRevisionStore.java:373)
>
>      at
> org.apache.jackrabbit.mk.store.DefaultRevisionStore.getRootNode(DefaultRevisionStore.java:381)
>
>      at
> org.apache.jackrabbit.mk.core.Repository.getNodeState(Repository.java:168)
>      at
> org.apache.jackrabbit.mk.core.MicroKernelImpl.getNodes(MicroKernelImpl.java:339)
>
>      ... 31 more