neo4j/community — pull request #327 by thobe (2012-03-09 15:27:13+00:00)
Title: Fixes truncating issue when store is closed with idGenerator in bad state

The last commit is the actual fix (with test cases):
https://github.com/thobe/neo4j-community/commit/4aae0939df62b09e11eac91511643cf465759595
The fixes before is to make the testing possible.

The actual fix for the issue is a single line change in CommonAbstractStore:
https://github.com/thobe/neo4j-community/commit/4aae0939df62b09e11eac91511643cf465759595#diff-0

The changes made to the use of FileSystemAbstraction in order to run IdGenerators on an emulated filesystem for testing of this issue should be generally beneficial. Especially for other similar kinds of testing.

The changes in the implementation of EphemeralFileSystemAbstraction makes it possible to re-use the same ephemeral file system object for multiple instances of a database, making it possible to do setup, test, and verification using different database instances. Possibly with different configurations. It should also make it possible to use EphemeralFileSystemAbstraction with HA, since it would now tolerate the internal restarts that happen there.