I have several use cases that require creating Nodes in a Session then changing the relations between the Nodes in the same Session prior to saving the Session.
These use cases worked fine when using JackRabbit 1.3.3 but we have encountered errors when upgrading to the jackrabbit-core 1.4.6 candidate release. More specifically, I have found that when I create multiple Nodes with the same path and then remove several of these Nodes then some of the remaining Node paths become corrupt and are set to the root path. I have an AbstractJCRTest unit test that can reproduce the problem but before I post this as an issue can someone answer whether or not creating then removing Nodes within a common Session without saving until all the Nodes have been created and removed should be supported by the JCR spec? I would assume that all legal operations should be valid and visible to the Session and not corrupt the Session. However, most of the examples and unit tests I have seen save the Session or working Node between differing operations like creation and deletion.
