I am trying to model a transaction-log for lucene, which creates a
transaction-log per-commit

Things work fine during normal operations, but I cannot fathom the effect
during

a. IOException during Index-Commit

Will the index be restored to previous commit-point? Can I blindly re-try
operations from the current transaction log, after some time interval?

b. IOException during Background-Flush

Will all the RAM buffers including deletes for that DWPT be cleaned up?
flush() being per-thread and async obviously has problems with my
transaction-log-per-commit approach, right?

Most of the time, the IOExceptions are temporary and recoverable [Ex:
Solr's HDFSDirectory etc...]. So, I must definitely retry these operations
after some time-interval.

Any help is much needed and appreciated.

--
Ravi

Reply via email to