The index itself isn't corrupt - just one of the segment files. This means you can read the index (less the offending segment(s)), but once this happens it's no longer possible to access the documents that were in that segment (they're gone forever), nor write/commit to the index (depending on the env/request, you get 'Error reading from index file..' and/or WriteLockError) (note that for my use case, documents are dynamically created so can't be re-indexed).
Restarting Solr fixes the write lock errors (an indirect environmental symptom of the problem), and running CheckIndex -fix is the only way I've found to repair the index so it can be written to (rewrites the corrupted segment(s)). I guess I was wondering if there's a mechanism that would support something akin to a transactional rollback for segments. Thanks, Peter On Mon, Nov 29, 2010 at 5:33 PM, Yonik Seeley <yo...@lucidimagination.com> wrote: > On Mon, Nov 29, 2010 at 10:46 AM, Peter Sturge <peter.stu...@gmail.com> wrote: >> If a Solr index is running at the time of a system halt, this can >> often corrupt a segments file, requiring the index to be -fix'ed by >> rewriting the offending file. > > Really? That shouldn't be possible (if you mean the index is truly > corrupt - i.e. you can't open it). > > -Yonik > http://www.lucidimagination.com >