You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Micah Whitacre (JIRA)" <ji...@apache.org> on 2008/03/12 20:32:46 UTC

[jira] Updated: (JCR-1440) NPE Thrown when two Cluster Nodes are hitting the same underlying database.

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

Micah Whitacre updated JCR-1440:
--------------------------------

    Attachment: repository1.xml

I've played around with my configuration a bit more and am still not able to get rid of the NPE.  In this attachment I modified the repository1.xml file to use the bundle.PersistenceManager and configured a DbDataStore.  For the testing purposes repository2.xml is an exact duplicate of the attachment (with a different cluster id).

This change in configuration does not fix the NPE.  This still seems like an Jackrabbit issue instead of an error in my configuration.  

> 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, 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.