[
https://issues.jboss.org/browse/GTNPORTAL-2711?page=com.atlassian.jira.pl...
]
Stian Thorgersen updated GTNPORTAL-2711:
----------------------------------------
Description:
I believe some data structures are not initialized in chromattic/jcr until first used. If
multiple threads do this at the same time it causes an ItemExistsException to be thrown.
To reproduce this issue I've slightly modified TestGadgetTokenInfoService in
gadgets/core available here
https://github.com/stianst/gatein-portal/tree/GTNPORTAL-2711.
It may not fail the first time, so run it a few times if it doesn't.
Stack trace:
{code}
org.chromattic.api.UndeclaredRepositoryException: javax.jcr.ItemExistsException:
[portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index.
[]:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41b
aa4a6e, ParentID: 00exo0jcr0root0uuid0000000000000. Cause >>>> integrity
constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT:
integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uu
id0000000000000. Cause >>>> integrity constraint violation: unique constraint
or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTE
ST_PARENT: integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT
at org.chromattic.core.DomainSession.save(DomainSession.java:181)
at org.chromattic.core.api.ChromatticSessionImpl.save(ChromatticSessionImpl.java:246)
at org.exoplatform.commons.chromattic.AbstractContext.close(AbstractContext.java:129)
at org.exoplatform.commons.chromattic.LocalContext.close(LocalContext.java:56)
at
org.exoplatform.commons.chromattic.ChromatticLifeCycle.closeContext(ChromatticLifeCycle.java:306)
at org.exoplatform.commons.chromattic.ContextualTask.executeWith(ContextualTask.java:49)
at
org.exoplatform.portal.gadget.core.GadgetTokenInfoService.createToken(GadgetTokenInfoService.java:50)
at
org.exoplatform.portal.gadget.TestGadgetTokenInfoService.createTokens(TestGadgetTokenInfoService.java:69)
at
org.exoplatform.portal.gadget.TestGadgetTokenInfoService.testGetToken(TestGadgetTokenInfoService.java:88)
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:601)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at org.exoplatform.component.test.AbstractGateInTest.runBare(AbstractGateInTest.java:91)
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 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:234)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
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:601)
at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
00000000000. Cause >>>> integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTEST_P
ARENT: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index.
[]:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID:
00exo0jcr0root0uuid0000000000000. Cause >>>> integrity c
onstraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT:
integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT: integrity constraint violati
on: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
at
org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1565)
at org.exoplatform.services.jcr.impl.core.ItemImpl.save(ItemImpl.java:706)
at org.exoplatform.services.jcr.impl.core.SessionImpl.save(SessionImpl.java:1080)
at
org.exoplatform.commons.chromattic.PortalSessionLifeCycle.save(PortalSessionLifeCycle.java:56)
at org.chromattic.core.jcr.SessionWrapperImpl.save(SessionWrapperImpl.java:274)
at org.chromattic.core.DomainSessionImpl._save(DomainSessionImpl.java:640)
at org.chromattic.core.DomainSession.save(DomainSession.java:178)
... 34 more
Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
00000000000. Cause >>>> integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTEST_P
ARENT: integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT
at
org.exoplatform.services.jcr.impl.storage.jdbc.SQLExceptionHandler.handleAddException(SQLExceptionHandler.java:141)
at
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:746)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.doAdd(WorkspacePersistentDataManager.java:1009)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager$ChangesLogPersister.save(WorkspacePersistentDataManager.java:662)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.save(WorkspacePersistentDataManager.java:333)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.doSave(CacheableWorkspaceDataManager.java:1102)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.access$800(CacheableWorkspaceDataManager.java:93)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1045)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1042)
at
org.exoplatform.commons.utils.SecurityHelper.doPrivilegedExceptionAction(SecurityHelper.java:310)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1041)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1007)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.ShareableSupportedWorkspaceDataManager.save(ShareableSupportedWorkspaceDataManager.java:176)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.VersionableWorkspaceDataManager.save(VersionableWorkspaceDataManager.java:334)
at
org.exoplatform.services.jcr.impl.dataflow.session.TransactionableDataManager.save(TransactionableDataManager.java:471)
at
org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1549)
... 40 more
Caused by: java.sql.SQLException: integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at
org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.MultiDbJDBCConnection.addNodeRecord(MultiDbJDBCConnection.java:253)
at
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:732)
... 54 more
Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.index.IndexAVLMemory.insert(Unknown Source)
at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source)
at org.hsqldb.Table.insertSingleRow(Unknown Source)
at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
at org.hsqldb.StatementInsert.getResult(Unknown Source)
at org.hsqldb.StatementDMQL.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 59 more
{code}
was:
I believe some data structures are not initialized in chromattic/jcr until first used. If
multiple threads do this at the same time it can cause ItemExistsException to be thrown.
To reproduce this issue I've slightly modified TestGadgetTokenInfoService in
gadgets/core available here
https://github.com/stianst/gatein-portal/tree/GTNPORTAL-2711.
It may not fail the first time, so run it a few times if it doesn't.
Stack trace:
{code}
org.chromattic.api.UndeclaredRepositoryException: javax.jcr.ItemExistsException:
[portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index.
[]:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41b
aa4a6e, ParentID: 00exo0jcr0root0uuid0000000000000. Cause >>>> integrity
constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT:
integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uu
id0000000000000. Cause >>>> integrity constraint violation: unique constraint
or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTE
ST_PARENT: integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT
at org.chromattic.core.DomainSession.save(DomainSession.java:181)
at org.chromattic.core.api.ChromatticSessionImpl.save(ChromatticSessionImpl.java:246)
at org.exoplatform.commons.chromattic.AbstractContext.close(AbstractContext.java:129)
at org.exoplatform.commons.chromattic.LocalContext.close(LocalContext.java:56)
at
org.exoplatform.commons.chromattic.ChromatticLifeCycle.closeContext(ChromatticLifeCycle.java:306)
at org.exoplatform.commons.chromattic.ContextualTask.executeWith(ContextualTask.java:49)
at
org.exoplatform.portal.gadget.core.GadgetTokenInfoService.createToken(GadgetTokenInfoService.java:50)
at
org.exoplatform.portal.gadget.TestGadgetTokenInfoService.createTokens(TestGadgetTokenInfoService.java:69)
at
org.exoplatform.portal.gadget.TestGadgetTokenInfoService.testGetToken(TestGadgetTokenInfoService.java:88)
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:601)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at org.exoplatform.component.test.AbstractGateInTest.runBare(AbstractGateInTest.java:91)
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 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:234)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
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:601)
at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
00000000000. Cause >>>> integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTEST_P
ARENT: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index.
[]:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID:
00exo0jcr0root0uuid0000000000000. Cause >>>> integrity c
onstraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT:
integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT: integrity constraint violati
on: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
at
org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1565)
at org.exoplatform.services.jcr.impl.core.ItemImpl.save(ItemImpl.java:706)
at org.exoplatform.services.jcr.impl.core.SessionImpl.save(SessionImpl.java:1080)
at
org.exoplatform.commons.chromattic.PortalSessionLifeCycle.save(PortalSessionLifeCycle.java:56)
at org.chromattic.core.jcr.SessionWrapperImpl.save(SessionWrapperImpl.java:274)
at org.chromattic.core.DomainSessionImpl._save(DomainSessionImpl.java:640)
at org.chromattic.core.DomainSession.save(DomainSession.java:178)
... 34 more
Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
00000000000. Cause >>>> integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTEST_P
ARENT: integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT
at
org.exoplatform.services.jcr.impl.storage.jdbc.SQLExceptionHandler.handleAddException(SQLExceptionHandler.java:141)
at
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:746)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.doAdd(WorkspacePersistentDataManager.java:1009)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager$ChangesLogPersister.save(WorkspacePersistentDataManager.java:662)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.save(WorkspacePersistentDataManager.java:333)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.doSave(CacheableWorkspaceDataManager.java:1102)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.access$800(CacheableWorkspaceDataManager.java:93)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1045)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1042)
at
org.exoplatform.commons.utils.SecurityHelper.doPrivilegedExceptionAction(SecurityHelper.java:310)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1041)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1007)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.ShareableSupportedWorkspaceDataManager.save(ShareableSupportedWorkspaceDataManager.java:176)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.VersionableWorkspaceDataManager.save(VersionableWorkspaceDataManager.java:334)
at
org.exoplatform.services.jcr.impl.dataflow.session.TransactionableDataManager.save(TransactionableDataManager.java:471)
at
org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1549)
... 40 more
Caused by: java.sql.SQLException: integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at
org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.MultiDbJDBCConnection.addNodeRecord(MultiDbJDBCConnection.java:253)
at
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:732)
... 54 more
Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.index.IndexAVLMemory.insert(Unknown Source)
at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source)
at org.hsqldb.Table.insertSingleRow(Unknown Source)
at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
at org.hsqldb.StatementInsert.getResult(Unknown Source)
at org.hsqldb.StatementDMQL.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 59 more
{code}
Database/jcr is not initialized before first call
-------------------------------------------------
Key: GTNPORTAL-2711
URL:
https://issues.jboss.org/browse/GTNPORTAL-2711
Project: GateIn Portal
Issue Type: Bug
Security Level: Public(Everyone can see)
Reporter: Stian Thorgersen
Assignee: Stian Thorgersen
I believe some data structures are not initialized in chromattic/jcr until first used. If
multiple threads do this at the same time it causes an ItemExistsException to be thrown.
To reproduce this issue I've slightly modified TestGadgetTokenInfoService in
gadgets/core available here
https://github.com/stianst/gatein-portal/tree/GTNPORTAL-2711.
It may not fail the first time, so run it a few times if it doesn't.
Stack trace:
{code}
org.chromattic.api.UndeclaredRepositoryException: javax.jcr.ItemExistsException:
[portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index.
[]:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41b
aa4a6e, ParentID: 00exo0jcr0root0uuid0000000000000. Cause >>>> integrity
constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT:
integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: [portal-test] ADD NODE. Item already
exists. Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uu
id0000000000000. Cause >>>> integrity constraint violation: unique constraint
or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTE
ST_PARENT: integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT
at org.chromattic.core.DomainSession.save(DomainSession.java:181)
at org.chromattic.core.api.ChromatticSessionImpl.save(ChromatticSessionImpl.java:246)
at org.exoplatform.commons.chromattic.AbstractContext.close(AbstractContext.java:129)
at org.exoplatform.commons.chromattic.LocalContext.close(LocalContext.java:56)
at
org.exoplatform.commons.chromattic.ChromatticLifeCycle.closeContext(ChromatticLifeCycle.java:306)
at
org.exoplatform.commons.chromattic.ContextualTask.executeWith(ContextualTask.java:49)
at
org.exoplatform.portal.gadget.core.GadgetTokenInfoService.createToken(GadgetTokenInfoService.java:50)
at
org.exoplatform.portal.gadget.TestGadgetTokenInfoService.createTokens(TestGadgetTokenInfoService.java:69)
at
org.exoplatform.portal.gadget.TestGadgetTokenInfoService.testGetToken(TestGadgetTokenInfoService.java:88)
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:601)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at
org.exoplatform.component.test.AbstractGateInTest.runBare(AbstractGateInTest.java:91)
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 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:234)
at
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
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:601)
at
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
at
org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
at
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
00000000000. Cause >>>> integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTEST_P
ARENT: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index.
[]:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID:
00exo0jcr0root0uuid0000000000000. Cause >>>> integrity c
onstraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT:
integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT: integrity constraint violati
on: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
at
org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1565)
at org.exoplatform.services.jcr.impl.core.ItemImpl.save(ItemImpl.java:706)
at org.exoplatform.services.jcr.impl.core.SessionImpl.save(SessionImpl.java:1080)
at
org.exoplatform.commons.chromattic.PortalSessionLifeCycle.save(PortalSessionLifeCycle.java:56)
at org.chromattic.core.jcr.SessionWrapperImpl.save(SessionWrapperImpl.java:274)
at org.chromattic.core.DomainSessionImpl._save(DomainSessionImpl.java:640)
at org.chromattic.core.DomainSession.save(DomainSession.java:178)
... 34 more
Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists.
Condition: parent ID, name, index. []:1[]gadgettokens:1, ID:
db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
00000000000. Cause >>>> integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique
constraint or index violation: JCR_IDX_IPORTALTEST_P
ARENT: integrity constraint violation: unique constraint or index violation:
JCR_IDX_IPORTALTEST_PARENT
at
org.exoplatform.services.jcr.impl.storage.jdbc.SQLExceptionHandler.handleAddException(SQLExceptionHandler.java:141)
at
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:746)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.doAdd(WorkspacePersistentDataManager.java:1009)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager$ChangesLogPersister.save(WorkspacePersistentDataManager.java:662)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.save(WorkspacePersistentDataManager.java:333)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.doSave(CacheableWorkspaceDataManager.java:1102)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.access$800(CacheableWorkspaceDataManager.java:93)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1045)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1042)
at
org.exoplatform.commons.utils.SecurityHelper.doPrivilegedExceptionAction(SecurityHelper.java:310)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1041)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1007)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.ShareableSupportedWorkspaceDataManager.save(ShareableSupportedWorkspaceDataManager.java:176)
at
org.exoplatform.services.jcr.impl.dataflow.persistent.VersionableWorkspaceDataManager.save(VersionableWorkspaceDataManager.java:334)
at
org.exoplatform.services.jcr.impl.dataflow.session.TransactionableDataManager.save(TransactionableDataManager.java:471)
at
org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1549)
... 40 more
Caused by: java.sql.SQLException: integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
at
org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.MultiDbJDBCConnection.addNodeRecord(MultiDbJDBCConnection.java:253)
at
org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:732)
... 54 more
Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or
index violation: JCR_IDX_IPORTALTEST_PARENT
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.index.IndexAVLMemory.insert(Unknown Source)
at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source)
at org.hsqldb.Table.insertSingleRow(Unknown Source)
at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
at org.hsqldb.StatementInsert.getResult(Unknown Source)
at org.hsqldb.StatementDMQL.execute(Unknown Source)
at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 59 more
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira