Perhaps my question could also be phrased as: What happens if tx.finish() is never called? I don't know what tomcat does when it times out, but I expect it might kill the running servlet quite "brutally".
Philip On 5/10/08, Philip Jägenstedt <[EMAIL PROTECTED]> wrote: > Hi again, > > By accident (as usual) I stumbled across a new problem. I don't really > have the transaction handling under control, and am creating a lot of > new nodes and indexing them all in one transaction. At one time I got > a server timeout or similar, which I though would cause the > transaction to fail. However, it seems that the index has been updated > anyway because I am now getting a lovely excpetion: > > org.neo4j.impl.core.NotFoundException: Node[41] not found. > org.neo4j.impl.core.NodeManager.getNodeForProxy(NodeManager.java:363) > org.neo4j.impl.core.NodeProxy.getSingleRelationship(NodeProxy.java:94) > org.neo4j.util.btree.TreeNode.getFirstEntry(TreeNode.java:162) > org.neo4j.util.btree.TreeNode.getEntry(TreeNode.java:379) > org.neo4j.util.btree.BTree.getAsKeyEntry(BTree.java:322) > > org.neo4j.util.index.AbstractIndex.getSingleNodeFor(AbstractIndex.java:374) > > org.neo4j.util.index.MultiValueIndex.getSingleNodeFor(MultiValueIndex.java:15) > > org.neo4j.util.index.NeoIndexService.getSingleNode(NeoIndexService.java:121) > > org.foolip.mushup.MushArtistFactory.getArtistById(MushArtistFactory.java:46) > org.foolip.mushup.Info.doGet(Info.java:54) > javax.servlet.http.HttpServlet.service(HttpServlet.java:689) > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > java.lang.reflect.Method.invoke(Method.java:585) > org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) > java.security.AccessController.doPrivileged(Native Method) > javax.security.auth.Subject.doAsPrivileged(Subject.java:517) > > org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) > > org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) > > Most of that is irrelevant, but anyway... does the indexing service do > some transaction handling internally, how ought I write my code to > guarantee that this can't happen? > > > Philip > _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user