Re: [Neo] Lucene Index Corruption?

2009-12-11 Thread Johan Svensson
Hi, I do think the best solution is to make NeoService.shutdown() (either by default or parameter/config) do the following: 1) block or throw exception for threads trying to start a new transaction 2) rollback all transactions that are not yet in committing state 3) wait for transactions that are

Re: [Neo] Lucene Index Corruption?

2009-12-10 Thread Adam Rabung
Hi, Thanks for all of the information. Of course the #1 solution to this problem is to ensure all transactions are closed before shutdown is called. I am trying to implement some kind of failsafe in the case that some unforeseen problem/bug causes transactions to remain open. What do you think o

Re: [Neo] Lucene Index Corruption?

2009-12-10 Thread Johan Svensson
Hi Adam, On Wed, Dec 9, 2009 at 4:37 PM, Adam Rabung wrote: > 1. This iterator will just prevent duplicates from being returned from > the iterator?  If there's a condition (bug in my code) that causes > shutdown w/ open transactions, will the Lucene indexes continue to > double until they're hug

Re: [Neo] Lucene Index Corruption?

2009-12-09 Thread Adam Rabung
Hi, Lots of questions :) 1. This iterator will just prevent duplicates from being returned from the iterator? If there's a condition (bug in my code) that causes shutdown w/ open transactions, will the Lucene indexes continue to double until they're huge? 2. Would it be possible to detect this s

Re: [Neo] Lucene Index Corruption?

2009-12-09 Thread Mattias Persson
Hi Adam, We're aware of such problems and I just now committed a fix which basically is a cover-up until those bugs are fixed... the iterable from getNodes() now runs through a filter (lazily before each next()) so your problem should go away. 2009/12/8 Adam Rabung : > Hi, > I've recently run int

[Neo] Lucene Index Corruption?

2009-12-08 Thread Adam Rabung
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 execu