This was indeed a bug and I just committed a fix for it in trunk. -Johan
On Tue, May 18, 2010 at 6:28 PM, Garrett Smith <g...@rre.tt> wrote: > See attached. > > To reproduce, run against r4415: > > $ java -cp PATH NodeNotInUse DBDIR create > $ java -cp PATH NodeNotInUse DBDIR delete NODEID > > I modified > src/main/java/org/neo4j/kernel/impl/core/TransactionEventsSyncHook.java > to get the error info: > > --- src/main/java/org/neo4j/kernel/impl/core/TransactionEventsSyncHook.java > (revision > 4415) > +++ src/main/java/org/neo4j/kernel/impl/core/TransactionEventsSyncHook.java > (working > copy) > @@ -35,6 +35,7 @@ > > public void beforeCompletion() > { > + try { > this.transactionData = nodeManager.getTransactionData(); > states = new ArrayList<HandlerAndState>(); > for ( TransactionEventHandler<T> handler : this.handlers ) > @@ -55,6 +56,10 @@ > throw new RuntimeException( t ); > } > } > + } catch (Throwable th) { > + th.printStackTrace(); > + throw new RuntimeException(th); > + } > } > > On Tue, May 18, 2010 at 6:38 AM, Johan Svensson <jo...@neotechnology.com> > wrote: >> Garrett, >> >> This could be a bug. Could you please provide a test case that trigger >> this behavior. >> >> -Johan >> >> On Sat, May 15, 2010 at 8:46 PM, Tobias Ivarsson >> <tobias.ivars...@neotechnology.com> wrote: >>> Create a ticket for it, I've tagged it for reviewing when I get back to the >>> office, you had the great unfortune to send this right at the beginning of a >>> 4 day Swedish holiday. >>> >>> If you could supply code that can reproduce it that would be even better. >>> >>> Cheers, >>> Tobias >>> >>> On Sat, May 15, 2010 at 8:42 PM, Garrett Smith <g...@rre.tt> wrote: >>> >>>> Is this something I should open a ticket for, or is it something the >>>> dev team is aware of? Or is it user error? >>>> >>>> Garrett >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: Garrett Smith <g...@rre.tt> >>>> Date: Thu, May 13, 2010 at 2:52 PM >>>> Subject: Node not in use exception when using tx event handler >>>> To: Neo4j Users <user@lists.neo4j.org> >>>> >>>> >>>> I'm running into the exception below when I try to delete a node when >>>> first starting up a graph database. >>>> >>>> I'm experimenting with a transaction event handler. The error, >>>> however, occurs before my handler gets called. >>>> >>>> org.neo4j.kernel.impl.nioneo.store.InvalidRecordException: Node[10] not in >>>> use >>>> at >>>> org.neo4j.kernel.impl.nioneo.xa.WriteTransaction.nodeGetProperties(WriteTransaction.java:1009) >>>> at >>>> org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaConnection$NodeEventConsumerImpl.getProperties(NeoStoreXaConnection.java:228) >>>> at >>>> org.neo4j.kernel.impl.nioneo.xa.NioNeoDbPersistenceSource$NioNeoDbResourceConnection.nodeLoadProperties(NioNeoDbPersistenceSource.java:432) >>>> at >>>> org.neo4j.kernel.impl.persistence.PersistenceManager.loadNodeProperties(PersistenceManager.java:100) >>>> at >>>> org.neo4j.kernel.impl.core.NodeManager.loadProperties(NodeManager.java:628) >>>> at >>>> org.neo4j.kernel.impl.core.NodeImpl.loadProperties(NodeImpl.java:84) >>>> at >>>> org.neo4j.kernel.impl.core.Primitive.ensureFullLightProperties(Primitive.java:591) >>>> at >>>> org.neo4j.kernel.impl.core.Primitive.getAllCommittedProperties(Primitive.java:604) >>>> at >>>> org.neo4j.kernel.impl.core.LockReleaser.populateNodeRelEvent(LockReleaser.java:855) >>>> at >>>> org.neo4j.kernel.impl.core.LockReleaser.getTransactionData(LockReleaser.java:740) >>>> at >>>> org.neo4j.kernel.impl.core.NodeManager.getTransactionData(NodeManager.java:914) >>>> at >>>> org.neo4j.kernel.impl.core.TransactionEventsSyncHook.beforeCompletion(TransactionEventsSyncHook.java:39) >>>> at >>>> org.neo4j.kernel.impl.transaction.TransactionImpl.doBeforeCompletion(TransactionImpl.java:341) >>>> at >>>> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:556) >>>> at >>>> org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:103) >>>> at >>>> org.neo4j.kernel.EmbeddedGraphDbImpl$TransactionImpl.finish(EmbeddedGraphDbImpl.java:410) >>>> at gv.graph.Nodes.deleteNode(Nodes.java:349) >>>> at gv.graph.NodeDelete.handle(NodeDelete.java:20) >>>> at gv.graph.MessageHandler.run(MessageHandler.java:59) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) >>>> at >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) >>>> at java.lang.Thread.run(Thread.java:619) >>>> May 13, 2010 2:42:56 PM >>>> org.neo4j.kernel.impl.transaction.TransactionImpl doBeforeCompletion >>>> WARNING: Caught exception from tx >>>> syncronization[org.neo4j.kernel.impl.core.transactioneventssynch...@edf3f6 >>>> ] >>>> beforeCompletion() >>>> May 13, 2010 2:42:56 PM >>>> org.neo4j.kernel.impl.transaction.TransactionImpl doAfterCompletion >>>> WARNING: Caught exception from tx >>>> syncronization[org.neo4j.kernel.impl.core.transactioneventssynch...@edf3f6 >>>> ] >>>> afterCompletion() >>>> >>>> Code details: >>>> >>>> URL: https://svn.neo4j.org/components/kernel/trunk >>>> Repository Root: https://svn.neo4j.org >>>> Repository UUID: 0b971d98-bb2f-0410-8247-b05b2b5feb2a >>>> Revision: 4415 _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user