Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 33010 invoked from network); 12 Mar 2008 20:02:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Mar 2008 20:02:32 -0000 Received: (qmail 54151 invoked by uid 500); 12 Mar 2008 20:02:28 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 54120 invoked by uid 500); 12 Mar 2008 20:02:28 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 54111 invoked by uid 99); 12 Mar 2008 20:02:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Mar 2008 13:02:28 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Mar 2008 20:01:37 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 67D6B234C092 for ; Wed, 12 Mar 2008 13:00:46 -0700 (PDT) Message-ID: <485309849.1205352046424.JavaMail.jira@brutus> Date: Wed, 12 Mar 2008 13:00:46 -0700 (PDT) From: "Micah Whitacre (JIRA)" To: dev@jackrabbit.apache.org Subject: [jira] Updated: (JCR-1440) NPE Thrown when two Cluster Nodes are hitting the same underlying database. In-Reply-To: <477411767.1204296531485.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/JCR-1440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Micah Whitacre updated JCR-1440: -------------------------------- Attachment: SimpleJackrabbitConflictTest.java I have been playing around with the test a bit and have found that if I don't wait for the clusters to synchronize after deleting the node "foo" that I will get the following stack trace when trying to check out the root node of he first session again. Not completely related to this bug but thought I'd post what I was finding. javax.jcr.InvalidItemStateException: cafebabe-cafe-babe-cafe-babecafebabe/{http://www.jcp.org/jcr/1.0}isCheckedOut has been modified externally at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1248) at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:896) at org.apache.jackrabbit.core.NodeImpl.checkout(NodeImpl.java:3001) at com.cerner.system.configuration.repository.jcr.SimpleJackrabbitConflictTest.testNullPointerExceptionThrown(SimpleJackrabbitConflictTest.java:99) > NPE Thrown when two Cluster Nodes are hitting the same underlying database. > --------------------------------------------------------------------------- > > Key: JCR-1440 > URL: https://issues.apache.org/jira/browse/JCR-1440 > Project: Jackrabbit > Issue Type: Bug > Affects Versions: 1.4, core 1.4.1 > Environment: Vista JDK 1.5.0_12. Using Derby and Derby Client 10.1.2.1 > Reporter: Micah Whitacre > Priority: Critical > Attachments: repository1.xml, SimpleJackrabbitConflictTest.java, SimpleJackRabbitTest.zip > > > I've created a test that creates two repositories with clustering enabled that are backed by the same database. Using the following workflow causes a NullPointerException to be thrown. > The workflow I'm using is: > The root node is versioned. > ClusterNode1 creates a versioned child node named "foo". > The test waits to make sure the syncDelay has passed so ClusterNode2 will notice the newly created node. > ClusterNode2 retrieves the "foo" child node and removes it. > The test waits for the change ClusterNode1 to sync with that change. > ClusterNode1 tries to create another new node however a NullPointerException is thrown when the it tries to checkout the rootNode. > java.lang.NullPointerException: null values not allowed > at org.apache.commons.collections.map.AbstractReferenceMap.put(AbstractReferenceMap.java:251) > at org.apache.jackrabbit.core.version.VersionManagerImpl.getItem(VersionManagerImpl.java:280) > at org.apache.jackrabbit.core.version.XAVersionManager.getItem(XAVersionManager.java:334) > at org.apache.jackrabbit.core.version.AbstractVersionManager.getVersion(AbstractVersionManager.java:87) > at org.apache.jackrabbit.core.NodeImpl.getBaseVersion(NodeImpl.java:3198) > at org.apache.jackrabbit.core.NodeImpl.checkout(NodeImpl.java:2991) > at com.cerner.system.configuration.repository.jcr.SimpleJackrabbitConflictTest.testNullPointerExceptionThrown(SimpleJackrabbitConflictTest.java:96) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.