Skip to content

If IndexWriter is interrupted on close and is using a channel (mmap/nio), it can throw a ClosedByInterruptException and prevent you from opening a new IndexWriter in the same proceses if you are using Native locks. [LUCENE-4638] #5703

@asfimport

Description

@asfimport

The ClosedByInterruptException will prevent the index from being unlocked in close. If you try and close again, the call will hang. If you are using native locks and try to open a new IndexWriter, it will fail to get the lock. If you try IW#forceUnlock, it wont work because the not fully closed IW will still have the lock.

ideas:

  • On ClosedByInterruptException, IW should continue trying to close what it can and unlock the index? Generally I have see the exception trigger in commitInternal.
  • We should add a non static forceUnlock to IW that lets you remove the lock and start a new IW?
  • We should make the lock protected so IW sub classes could unlock the index in advanced use cases?
  • others?

Migrated from LUCENE-4638 by Mark Miller (@markrmiller), 2 votes, updated May 09 2016
Attachments: LUCENE-4638.patch
Linked issues:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions