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 ArrayListHandlerAndState();
for ( TransactionEventHandlerT 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