jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Micah Whitacre (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1440) NPE Thrown when two Cluster Nodes are hitting the same underlying database.
Date Wed, 05 Mar 2008 17:47:40 GMT

    [ https://issues.apache.org/jira/browse/JCR-1440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575431#action_12575431
] 

Micah Whitacre commented on JCR-1440:
-------------------------------------

I changed PMs and the Clustering to use the org.apache.derby.jdbc.Driver30 and I still get
the same exception.

You mentioned that the PMs needed to use a shared datasource.  What additional configuration
is needed for me to be able to do that?  Do I need to configure a DataSource[1] at the top
of the <Repository> configuration?  I've been using the Clustering[2] wiki page as my
guide and it doesn't show any special configuration for using the OraclePersistenceManager.
 I'm actually seeing this issue when hitting an Oracle database.  I just used an embedded
derby database for this example/tests.  

[1] - http://wiki.apache.org/jackrabbit/DataStore
[2] - http://wiki.apache.org/jackrabbit/Clustering

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


Mime
View raw message