Using Apache Jackrabbit, I created two nodes at exactly the same path
root.addNode("hello");
I was fully expecting the second addition to throw an ItemExistsException
as described here, but it didn't.
When I print out the path of the nodes to try and see what was going on, I see
/hello
for the first node and
/hello[2]
for the second node
Further, when I delete the node, a test to check for the existence of the node passes before I save the session, but after I save the session a second test of the same condition fails
session.getNode("/hello").remove();
assertFalse(session.nodeExists("/hello"));
session.save();
assertFalse(session.nodeExists("/hello"));
What's going on here? Is this a bug or some feature of Jackrabbit that deviates from the spec?