Logical Log Error (HA CLuster)

59 views
Skip to first unread message

Langland

unread,
May 2, 2012, 8:44:54 PM5/2/12
to Neo4j
This is the error I get when I try to fire up the Neo4J server. I get
it after I try to move a new database onto the server from naother
developer.

I realize that the data/coordinator/version-2 files need to be cleared
between restarts. Anre there any other things I need to do?

2012-05-03 00:42:13.262+0000: Error in ZooClient.process txId:10 not
found in any logical log (starting at 0 and searching backwards
java.lang.RuntimeException: txId:10 not found in any logical log
(starting at 0 and searching backwards
at
org.neo4j.kernel.impl.transaction.xaframework.LogExtractor.findLogContainingTxId(LogExtractor.java:
310)
at
org.neo4j.kernel.impl.transaction.xaframework.LogExtractor.<init>(LogExtractor.java:
143)
at
org.neo4j.kernel.impl.transaction.xaframework.LogExtractor.from(LogExtractor.java:
591)
at
org.neo4j.kernel.ha.zookeeper.ZooClient.getFirstMasterForTx(ZooClient.java:
648)
at
org.neo4j.kernel.ha.zookeeper.ZooClient.makeSureRootPathIsFound(ZooClient.java:
394)
at org.neo4j.kernel.ha.zookeeper.ZooClient.getRoot(ZooClient.java:
320)
at
org.neo4j.kernel.ha.zookeeper.AbstractZooKeeperManager.getAllMachines(AbstractZooKeeperManager.java:
271)
at
org.neo4j.kernel.ha.zookeeper.AbstractZooKeeperManager.getMasterFromZooKeeper(AbstractZooKeeperManager.java:
173)
at
org.neo4j.kernel.ha.zookeeper.AbstractZooKeeperManager.getMasterFromZooKeeper(AbstractZooKeeperManager.java:
163)
at org.neo4j.kernel.ha.zookeeper.ZooClient
$WatcherImpl.process(ZooClient.java:764)
at org.apache.zookeeper.ClientCnxn
$EventThread.processEvent(ClientCnxn.java:530)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:
506)

Peter Neubauer

unread,
May 3, 2012, 1:51:58 AM5/3/12
to ne...@googlegroups.com

Have you got the logical logs around, and did the db shut down cleanly? Also, did anything happen ob the cluster while you moved the store? Could you share your store in some way with us?

Mattias Persson

unread,
May 3, 2012, 3:13:33 AM5/3/12
to ne...@googlegroups.com
Your messages.log file is probably enough and contains non-sensitive information to help a guy like me debug what happened. So if you could supply it it would be great.

Nonetheless here is what I think has happened: The database you copied from another place was created with a batch inserter or with "keep_logical_logs" not enabled, meaning that there are some information about the last transaction(s) missing that an HA cluster would like to use. This is a known issue and will be fixed pretty soon. A workaround would be:

* Remove all slave databases
* Start up your master database with e.g. new EmbeddedGraphDatabase( "my/db/folder", MapUtil.stringMap( "keep_logical_logs", "true" ) );
* Do a little transaction, for example just create a node
* Shut down cleanly
* Start up master database in HA mode and then the slaves

Which version are you running btw?

2012/5/3 Langland <ericla...@msn.com>



--
Mattias Persson, [mat...@neotechnology.com]
Hacker, Neo Technology
www.neotechnology.com

Langland

unread,
May 3, 2012, 7:04:25 PM5/3/12
to Neo4j
We're using enterprise. When you say remove the slave databases, do
you mean shut down the coordinators or physically remove their neo4j
files?

Thanks for your help here.

On May 3, 12:13 am, Mattias Persson <matt...@neotechnology.com> wrote:
> Your messages.log file is probably enough and contains non-sensitive
> information to help a guy like me debug what happened. So if you could
> supply it it would be great.
>
> Nonetheless here is what I think has happened: The database you copied from
> another place was created with a batch inserter or with "keep_logical_logs"
> not enabled, meaning that there are some information about the last
> transaction(s) missing that an HA cluster would like to use. This is a
> known issue and will be fixed pretty soon. A workaround would be:
>
> * Remove all slave databases
> * Start up your master database with e.g. new EmbeddedGraphDatabase(
> "my/db/folder", MapUtil.stringMap( "keep_logical_logs", "true" ) );
> * Do a little transaction, for example just create a node
> * Shut down cleanly
> * Start up master database in HA mode and then the slaves
>
> Which version are you running btw?
>
> 2012/5/3 Langland <ericlangl...@msn.com>
> Mattias Persson, [matt...@neotechnology.com]
> Hacker, Neo Technologywww.neotechnology.com

Mattias Persson

unread,
May 5, 2012, 5:54:12 AM5/5/12
to ne...@googlegroups.com
You don't need to shut down the coordinators, just remove/move the data/graph.db directory and it will be copied automatically from the master when they start again.

2012/5/4 Langland <ericla...@msn.com>
Reply all
Reply to author
Forward
0 new messages