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

Reply via email to