[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 ] Jukka Zitting updated JCR-1440: --- Status: Resolved (was: Patch Available) Fix Version/s: 2.2.0 Resolution: Fixed Resolving as fixed as the reported problem no longer occurs. We can improve the design later on in followup issues. 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 Content Repository Issue Type: Bug Components: clustering, jackrabbit-core 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 Assignee: Jukka Zitting Priority: Critical Fix For: 2.2.0 Attachments: jackrabbit-1.5-JCR-1440.tar.gz, jcr-1440-workaround.patch, 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.
[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 ] Jukka Zitting updated JCR-1440: --- Comment: was deleted (was: Dear sender, Due to marriage I have taken a new surname. Please use in future my new email address which is philipp.baerf...@gmx.ch. A copy of this mail has already been sent to the new account. Have a nice day! Philipp Bärfuss -- Diese E-Mail wurde automatisch als Antwort auf Ihre Nachricht verschickt, da der Empfänger Ihrer E-Mail seine GMX Abwesenheitsschaltung aktiviert hat. Sie erhalten diese Benachrichtigung auch bei mehreren E-Mails nur ein Mal pro Woche. GMX ist eine eingetragene Marke der GMX GmbH. http://www.gmx.de/ ) 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 Content Repository Issue Type: Bug Components: clustering, jackrabbit-core 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 Assignee: Jukka Zitting Priority: Critical Attachments: jackrabbit-1.5-JCR-1440.tar.gz, jcr-1440-workaround.patch, 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.
[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 ] Jukka Zitting updated JCR-1440: --- Status: Patch Available (was: Open) 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 Content Repository Issue Type: Bug Components: clustering, jackrabbit-core Affects Versions: core 1.4.1, 1.4 Environment: Vista JDK 1.5.0_12. Using Derby and Derby Client 10.1.2.1 Reporter: Micah Whitacre Priority: Critical Attachments: jackrabbit-1.5-JCR-1440.tar.gz, jcr-1440-workaround.patch, 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.
[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 ] Philipp Bracher updated JCR-1440: - Comment: was deleted (was: Dear sender, Due to marriage I have taken a new surname. Please use in future my new email address which is philipp.baerf...@gmx.ch. A copy of this mail has already been sent to the new account. Have a nice day! Philipp Bärfuss -- Diese E-Mail wurde automatisch als Antwort auf Ihre Nachricht verschickt, da der Empfänger Ihrer E-Mail seine GMX Abwesenheitsschaltung aktiviert hat. Sie erhalten diese Benachrichtigung auch bei mehreren E-Mails nur ein Mal pro Woche. GMX ist eine eingetragene Marke der GMX GmbH. http://www.gmx.de/ ) 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 Content Repository Issue Type: Bug Components: clustering, jackrabbit-core 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: jackrabbit-1.5-JCR-1440.tar.gz, jcr-1440-workaround.patch, 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.
[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: jackrabbit-1.5-JCR-1440.tar.gz While coding against the 1.5-SNAPSHOT I started seeing a different exception being logged[1]. The attachment includes the same test that was previously attached (but modified to run on linux) and it will reliably produce the stack trace. The two repository.xml files were updated to support the newer security configuration needed as well. I have not tried applying Ryan's patch yet to see if it fixes this issue. Could someone look at/comment on the patch? It would be nice if this fix could make it into an upcoming release like 1.4.6 but if not maybe the 1.5. Thanks. [1] java.lang.NullPointerException at org.apache.jackrabbit.core.version.AbstractVersionManager.calculateCheckinVersionName(AbstractVersionManager.java:458) at org.apache.jackrabbit.core.version.AbstractVersionManager.checkin(AbstractVersionManager.java:392) at org.apache.jackrabbit.core.version.VersionManagerImpl$2.run(VersionManagerImpl.java:280) at org.apache.jackrabbit.core.version.VersionManagerImpl$DynamicESCFactory.doSourced(VersionManagerImpl.java:563) at org.apache.jackrabbit.core.version.VersionManagerImpl.checkin(VersionManagerImpl.java:276) at org.apache.jackrabbit.core.version.XAVersionManager.checkin(XAVersionManager.java:155) at org.apache.jackrabbit.core.NodeImpl.checkin(NodeImpl.java:3309) at com.cerner.system.configuration.repository.jcr.SimpleJackrabbitConflictTest.testNullPointerExceptionThrown(SimpleJackrabbitConflictTest.java:105) 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 Components: clustering, jackrabbit-core 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: jackrabbit-1.5-JCR-1440.tar.gz, jcr-1440-workaround.patch, 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.
[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 ] Ryan Brush updated JCR-1440: Attachment: jcr-1440-workaround.patch I ran into this issue in a similar situation. Debugging in jackrabbit-core-1.4.2, I found that the InternalVersionHistoryImpl contains caches that were not aware of this update made by another node in the cluster. It's not clear to me how these caches are (or should be) synchronized, but I was able to work around the problem by adding the following logic to InternalVersionHistoryImpl#getVersion(NodeId): * Run the existing logic to find the version in cache. * If the cached version is found, return it. * If it is not found, invoke InternalVersionHistoryImpl#reload() to ensure newer changes to the repository are visible to the cache * Attempt to get the item from cache again now that we've loaded the latest state I don't know if this is an appropriate fix, or if there is some other workaround we might use. However, this might shed some light on what is happening here. I imagine the reload() operation can be expensive, but it shouldn't be called during a normal flow. I'm also trying to better understand the threading model in Jackrabbit to ensure this mutation doesn't cause any race condition. 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 Components: clustering, jackrabbit-core 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: jcr-1440-workaround.patch, 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.
[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 ] Jukka Zitting updated JCR-1440: --- Component/s: jackrabbit-core 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 Components: clustering, jackrabbit-core 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.
[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.
[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: 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.
[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: SimpleJackRabbitTest.zip The test I used to create this exception and the two repository configuration files I used to configure the two nodes. 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.