neo4j/neo4j — pull request #3701 by tinwelint (2014-12-18 10:21:11+00:00)
Title: Log rotation won't happen on kernel panic

Log rotation checks that the kernel is still healthy, while having the
logFile lock, before doing the rotation. This to be on the safe side in
the event of panic, ehere the next recovery will have a chance to repair
the damages if all transactions are still in the active log.

For this the TransactionAppender#append method decides on success or panic
while holding the logFile lock and therefore safely communicates this
state to any log rotation happening concurrently.