Hi,

Looks like there was an OOME during commit but commit partially
succeeded (removing the xid branch id association for the xa resource)
causing the subsequent rollback call to fail. To guarantee consistency
the kernel will block all mutating operations after this and a restart
+ recovery has to be performed.

To avoid this make sure you don't get OOME thrown. What cache
configuration was this on? If running on strong reference cache
(default is soft) that may be the cause. Another possible cause is
that the transaction is to large so either increase heap or split
large transactions into smaller ones.

Regards,
Johan

On Thu, Jun 9, 2011 at 10:50 AM, Massimo Lusetti <[email protected]> wrote:
> Hi All,
>  I'm going to give a try again to my apps on neo4j with the current
> 1.4.M03 implementations.
>
> After a while I got this stack trace for which I hope someone could
> give me a clue:
>
> org.neo4j.graphdb.TransactionFailureException: Unable to commit transaction
>        at 
> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:104)
>        at 
> my.services.graphdb.Neo4jSourceImpl.addNodes(Neo4jSourceImpl.java:734)
>        at $Neo4jSource_1306fa8fc0b.addNodes($Neo4jSource_1306fa8fc0b.java)
>        at 
> my.services.input.RowLineProcessorImpl.processLogLines(RowLineProcessorImpl.java:86)
>        at 
> $RowLineProcessor_1306fa8fc11.processLogLines($RowLineProcessor_1306fa8fc11.java)
>        at 
> $RowLineProcessor_1306fa8fc0f.processLogLines($RowLineProcessor_1306fa8fc0f.java)
>        at 
> my.services.input.PickUpPollerImpl$DirPoller.run(PickUpPollerImpl.java:168)
>        at java.util.TimerThread.mainLoop(Timer.java:534)
>        at java.util.TimerThread.run(Timer.java:484)
> Caused by: javax.transaction.HeuristicMixedException: Unable to
> rollback ---> error in commit: java.lang.OutOfMemoryError: Java heap
> space ---> error code for rollback: 0
>        at 
> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:669)
>        at 
> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:588)
>        at 
> org.neo4j.kernel.impl.transaction.TransactionImpl.commit(TransactionImpl.java:107)
>        at 
> org.neo4j.kernel.TopLevelTransaction.finish(TopLevelTransaction.java:85)
>        ... 8 more
> Caused by: javax.transaction.xa.XAException: Unknown
> xid[GlobalId[NEOKERNL|9147195978689142839|809], BranchId[ 52 49 52 49
> 52 49 ]]
>        at 
> org.neo4j.kernel.impl.transaction.xaframework.XaResourceManager.rollback(XaResourceManager.java:470)
>        at 
> org.neo4j.kernel.impl.transaction.xaframework.XaResourceHelpImpl.rollback(XaResourceHelpImpl.java:111)
>        at 
> org.neo4j.kernel.impl.transaction.TransactionImpl.doRollback(TransactionImpl.java:533)
>        at 
> org.neo4j.kernel.impl.transaction.TxManager.commit(TxManager.java:651)
>        ... 11 more
>
> This are the command line options used to start the JVM:
>
> -Djava.awt.headless=true -XX:MaxPermSize=512m -Xms512m -Xmx2048m
>
> The box has 8G of RAM
>
> At the time of the exception the db had 4482380 nodes and 94613402
> relationships, a lot of my relations goes to a single node.
>
> The operations as usual are simple insert in the DB with some checks
> on Index (RelationalIndex and plain Index).
>
> Any help is really appreciated
>
> Cheers
> --
> Massimo
> http://meridio.blogspot.com
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user

Reply via email to