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 "Stefan Egli (JIRA)" <ji...@apache.org> on 2015/09/14 17:04:45 UTC

[jira] [Resolved] (OAK-3400) ClusterNodeInfo should not be osgi-dependent (for lease check failure handling)

     [ https://issues.apache.org/jira/browse/OAK-3400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Egli resolved OAK-3400.
------------------------------
    Resolution: Fixed

I still get some ITs failing - but I can't see any connection to clusterNodeInfo/lease-handling - thus closing this ticket

{code}
Running org.apache.jackrabbit.oak.jcr.tck.VersionIT
Tests run: 1416, Failures: 1, Errors: 2, Skipped: 0, Time elapsed: 220.493 sec <<< FAILURE!
testRestoreOrderJcr2_4(org.apache.jackrabbit.test.api.version.RestoreTest)  Time elapsed: 1.528 sec  <<< FAILURE!
junit.framework.AssertionFailedError: Failed to create versionable test node.OakMerge0004: The node 3:/jcr:system/jcr:versionStorage/32 was already added in revision
r14fcc5e050f-0-1, before
r14fcc5ea10d-0-1
	at junit.framework.Assert.fail(Assert.java:50)
	at org.apache.jackrabbit.test.api.version.AbstractVersionTest.setUp(AbstractVersionTest.java:86)
	at org.apache.jackrabbit.test.api.version.RestoreTest.setUp(RestoreTest.java:62)
	at junit.framework.TestCase.runBare(TestCase.java:132)
	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:464)
	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 junit.framework.TestSuite.run(TestSuite.java:238)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

testRestoreOrder2Jcr2_2(org.apache.jackrabbit.test.api.version.RestoreTest)  Time elapsed: 5.172 sec  <<< ERROR!
javax.jcr.InvalidItemStateException: OakMerge0004: The node 4:/jcr:system/jcr:versionStorage/5c/13 was already added in revision
r14fcc5fe22a-0-1, before
r14fcc5ff652-0-1
	at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:239)
	at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:212)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:672)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:497)
	at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:425)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:275)
	at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:422)
	at org.apache.jackrabbit.test.api.version.RestoreTest.setUp(RestoreTest.java:72)
	at junit.framework.TestCase.runBare(TestCase.java:132)
	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:464)
	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 junit.framework.TestSuite.run(TestSuite.java:238)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: org.apache.jackrabbit.oak.plugins.document.FailedWithConflictException: OakMerge0004: The node 4:/jcr:system/jcr:versionStorage/5c/13 was already added in revision
r14fcc5fe22a-0-1, before
r14fcc5ff652-0-1
	at org.apache.jackrabbit.oak.plugins.document.ConflictException.asCommitFailedException(ConflictException.java:59)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:494)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge0(DocumentNodeStoreBranch.java:173)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.merge(DocumentNodeStoreBranch.java:129)
	at org.apache.jackrabbit.oak.plugins.document.DocumentRootBuilder.merge(DocumentRootBuilder.java:158)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.merge(DocumentNodeStore.java:1544)
	at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:247)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:348)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:495)
	... 29 more
Caused by: org.apache.jackrabbit.oak.plugins.document.ConflictException: The node 4:/jcr:system/jcr:versionStorage/5c/13 was already added in revision
r14fcc5fe22a-0-1, before
r14fcc5ff652-0-1
	at org.apache.jackrabbit.oak.plugins.document.Commit.checkConflicts(Commit.java:579)
	at org.apache.jackrabbit.oak.plugins.document.Commit.createOrUpdateNode(Commit.java:485)
	at org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:369)
	at org.apache.jackrabbit.oak.plugins.document.Commit.applyToDocumentStore(Commit.java:263)
	at org.apache.jackrabbit.oak.plugins.document.Commit.applyInternal(Commit.java:232)
	at org.apache.jackrabbit.oak.plugins.document.Commit.apply(Commit.java:217)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:282)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.persist(DocumentNodeStoreBranch.java:252)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch.access$300(DocumentNodeStoreBranch.java:54)
	at org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBranch$InMemory.merge(DocumentNodeStoreBranch.java:490)
	... 36 more

testRestoreOrder2Jcr2_3(org.apache.jackrabbit.test.api.version.RestoreTest)  Time elapsed: 0.337 sec  <<< ERROR!
java.lang.IllegalStateException: Base version does not exist.
	at org.apache.jackrabbit.oak.jcr.version.ReadWriteVersionManager.getExistingBaseVersion(ReadWriteVersionManager.java:254)
	at org.apache.jackrabbit.oak.jcr.version.ReadWriteVersionManager.checkin(ReadWriteVersionManager.java:118)
	at org.apache.jackrabbit.oak.jcr.delegate.VersionManagerDelegate.checkin(VersionManagerDelegate.java:66)
	at org.apache.jackrabbit.oak.jcr.version.VersionManagerImpl$7.perform(VersionManagerImpl.java:355)
	at org.apache.jackrabbit.oak.jcr.version.VersionManagerImpl$7.perform(VersionManagerImpl.java:346)
	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:209)
	at org.apache.jackrabbit.oak.jcr.version.VersionManagerImpl.checkin(VersionManagerImpl.java:346)
	at org.apache.jackrabbit.test.api.version.RestoreTest.setUp(RestoreTest.java:69)
	at junit.framework.TestCase.runBare(TestCase.java:132)
	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:464)
	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 junit.framework.TestSuite.run(TestSuite.java:238)
	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)


Results :

Failed tests:   testRestoreOrderJcr2_4(org.apache.jackrabbit.test.api.version.RestoreTest): Failed to create versionable test node.OakMerge0004: The node 3:/jcr:system/jcr:versionStorage/32 was already added in revision(..)

Tests in error: 
  testRestoreOrder2Jcr2_2(org.apache.jackrabbit.test.api.version.RestoreTest): OakMerge0004: The node 4:/jcr:system/jcr:versionStorage/5c/13 was already added in revision(..)
  testRestoreOrder2Jcr2_3(org.apache.jackrabbit.test.api.version.RestoreTest): Base version does not exist.

Tests run: 6479, Failures: 1, Errors: 2, Skipped: 22

[INFO] 
[INFO] --- maven-bundle-plugin:2.5.3:baseline (baseline) @ oak-jcr ---
[INFO] Baseline analysis complete, 0 error(s), 0 warning(s)
[INFO] 
[INFO] --- maven-failsafe-plugin:2.12.4:verify (default) @ oak-jcr ---
[INFO] Failsafe report directory: /Users/egli/svn/oak/oak-jcr/target/failsafe-reports
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Oak Parent POM ..................................... SUCCESS [  2.899 s]
[INFO] Oak Commons ........................................ SUCCESS [ 13.869 s]
[INFO] Oak Blob Store ..................................... SUCCESS [  7.875 s]
[INFO] Oak Cloud Blob Store ............................... SUCCESS [  8.911 s]
[INFO] Oak Core ........................................... SUCCESS [06:38 min]
[INFO] Oak JCR Binding .................................... FAILURE [09:08 min]
[INFO] Oak upgrade ........................................ SKIPPED
{code}
/cc [~mreutegg]

> ClusterNodeInfo should not be osgi-dependent (for lease check failure handling)
> -------------------------------------------------------------------------------
>
>                 Key: OAK-3400
>                 URL: https://issues.apache.org/jira/browse/OAK-3400
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core
>         Environment: Affects revision 1.3.6+: 1702958
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>            Priority: Critical
>             Fix For: 1.3.7
>
>
> Currently the ClusterNodeInfo wants an (osgi) ComponentContext so that it can do a bundle-stop on lease failure.
> However, osgi-dependency we should only have in DocumentNodeStoreService - and not in DocumentNodeStore/ClusterNodeInfo etc.
> So instead of passing a ComponentContext, let the builder have a LeaseFailureHandler which will be passed to the ClusterNodeInfo.
> This blocks the IT tests - hence critical



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)