Hi, I've recently run into problems with indexes becoming corrupt after unclean shutdowns. Basically: 1. Transaction 1 writes some data 2. Transaction 2 reads some data, and is left open 3. The database is shut down, with warnings about an open transaction 4. The database is opened. Recovery executes, but it appears the Lucence indexes are "doubled" - that is, where we used to have key => (value1), we now have key => (value1, value1).
I've attached a JUnit test case that hopefully reproduces this for you. I'm on Java 5, Mac OS 10.5, neo-1.0-b10.jar, and index-util-0.8.jar Obviously, the first step on my end is to make sure any open transactions are closed before attempting a shutdown. However, I'm able to pretty reliably reproduce this problem in a much scarier way - just killing a running Neo process via the Eclipse "Console" view "red square" process stop button. Amazingly, Eclipse doesn't properly shut down processes properly when this button is used, so I can't count on shutdown hooks: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016 What expectations should I have for corruption when a database + indexes are .shutDown() with open transactions? What expectations should I have for corruption when a database + indexes are terminated abruptly (Eclipse Console, power outage, etc)? Beyond proper transaction management, and ensuring shutDown() is called, is there anything I should be doing to help protect this data? Thanks, Adam
_______________________________________________ Neo mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

