https://issues.apache.org/jira/browse/LUCENE-4245 tracks this issue.
On Jul 22, 2012, at 1:15 PM, Mark Miller wrote:
> Currently, interrupting IndexWriter#close(true) - which should wait for
> background merges to finish - causes #close to return while background merges
> are still running.
>
> There is a test that fails occasionally because of this. This is because it's
> using logic like this:
>
> try {
> IndexWriter#close(true)
> } finally {
> Directory#close();
> }
>
> Background merges will still try and use that directory though. Part of
> wanting to wait for them to finish is so that you know when it's safe to
> close the directory.
>
> So what is the proper way to address this?
>
> Merge threads that throw an exception - even if it's harmless - will fail the
> test framework.
>
> Should Lucene act differently? Should #close not be interruptible? Should it
> make sure merge threads are killed before it bails on interrupt?
>
> Or should the test framework be able to ignore some background thread
> exceptions?
>
> Or is there some option I'm missing?
>
> - Mark Miller
> lucidimagination.com
>
>
>
>
>
>
>
>
>
>
>
- Mark Miller
lucidimagination.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]