You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Dominik Klaholt (JIRA)" <ji...@apache.org> on 2010/09/22 15:04:36 UTC
[jira] Issue Comment Edited: (JCR-2712) Dirty Internal State on
Transaction-Rollback during Global Transaction (container managed
transaction)
[ https://issues.apache.org/jira/browse/JCR-2712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12913528#action_12913528 ]
Dominik Klaholt edited comment on JCR-2712 at 9/22/10 9:04 AM:
---------------------------------------------------------------
Executing the following method within XATest.java ( http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/XATest.java ) provokes the error as well:
public void testXAVersionManagerProblem() throws Exception {
Session session = null;
try {
session = getHelper().getSuperuserSession();
if (session.getRootNode().hasNode("testNode")) {
session.getRootNode().getNode("testNode").remove();
session.save();
}
UserTransaction utx;
for (int i = 0; i < 2; i++) {
utx = new UserTransactionImpl(session);
utx.begin();
session.getRootNode().addNode("testNode").addMixin(NodeType.MIX_VERSIONABLE);
session.save();
utx.rollback();
}
} finally {
if (session != null) {
session.logout();
}
}
}
was (Author: dokla):
Executing the following method with XATest.java ( http://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/XATest.java ) provokes the error as well:
public void testXAVersionManagerProblem() throws Exception {
Session session = null;
try {
session = getHelper().getSuperuserSession();
if (session.getRootNode().hasNode("testNode")) {
session.getRootNode().getNode("testNode").remove();
session.save();
}
UserTransaction utx;
for (int i = 0; i < 2; i++) {
utx = new UserTransactionImpl(session);
utx.begin();
session.getRootNode().addNode("testNode").addMixin(NodeType.MIX_VERSIONABLE);
session.save();
utx.rollback();
}
} finally {
if (session != null) {
session.logout();
}
}
}
> Dirty Internal State on Transaction-Rollback during Global Transaction (container managed transaction)
> ------------------------------------------------------------------------------------------------------
>
> Key: JCR-2712
> URL: https://issues.apache.org/jira/browse/JCR-2712
> Project: Jackrabbit Content Repository
> Issue Type: Bug
> Components: jackrabbit-core, jackrabbit-jca, transactions
> Affects Versions: 1.6.2, 2.1.1
> Environment: Websphere 7 (IBM JRE 6), RessourceAdapter (Jackrabbit), Global Transaction (JTA)
> Reporter: Sebastian Sickelmann
> Priority: Critical
>
> Running the following code inside an Global Transaction (JTA, container managed transaction) causes problems.
> Session session = getRepsoitorySession();
> Node rootNode = session.getRootNode();
> Node test = rootNode.addNode("test");
> test.addMixin(CTVRepositoryKonstanten.NODE_MIX_TYP_VERSION);
> session.save();
> throw new RuntimeException("testException");
> Everythink is fine, but if we execute it a second time we get an org.apache.jackrabbit.core.state.NoSuchItemStateException
> org.apache.jackrabbit.core.state.NoSuchItemStateException: b36d91bc-8687-428c-a767-2e087b13191a
> at org.apache.jackrabbit.core.state.SharedItemStateManager.getItemState(SharedItemStateManager.java:270)
> at org.apache.jackrabbit.core.state.LocalItemStateManager.getNodeState(LocalItemStateManager.java:107)
> at org.apache.jackrabbit.core.state.LocalItemStateManager.getItemState(LocalItemStateManager.java:172)
> at org.apache.jackrabbit.core.state.XAItemStateManager.getItemState(XAItemStateManager.java:260)
> at org.apache.jackrabbit.core.version.NodeStateEx.store(NodeStateEx.java:519)
> at org.apache.jackrabbit.core.version.NodeStateEx.store(NodeStateEx.java:489)
> at org.apache.jackrabbit.core.version.AbstractVersionManager.getParentNode(AbstractVersionManager.java:414)
> at org.apache.jackrabbit.core.version.AbstractVersionManager.createVersionHistory(AbstractVersionManager.java:357)
> at org.apache.jackrabbit.core.version.XAVersionManager.createVersionHistory(XAVersionManager.java:148)
> at org.apache.jackrabbit.core.version.AbstractVersionManager.getVersionHistory(AbstractVersionManager.java:273)
> at org.apache.jackrabbit.core.ItemImpl.initVersionHistories(ItemImpl.java:738)
> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1097)
> at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:915)
> at org.apache.jackrabbit.jca.JCASessionHandle.save(JCASessionHandle.java:180)
> at de.continentale.repo.CTVRepository.erstelleDokument(CTVRepository.java:2267)
> We think that there is some internal state that is not cleaned up on rollback.
> Restarting the runtime (Application Server) "solved" this.
> May be there are some same causes like in: JCR-2503, JCR-2613
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.