Re: [Neo] Fwd: Node not in use exception when using tx event handler

2010-05-24 Thread Johan Svensson
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 

[Neo] Fwd: Node not in use exception when using tx event handler

2010-05-15 Thread Garrett Smith
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