Is there an existing issue for this?
Task description
This test was ported and added in #786 (to close #768).
Unfortunately, it fails intermittently. A user shared in Lucene.net corrupted index (segments.gen) on StackOverflow that this appears to be due to a real problem that happens in production.
The failure may or may not be related to the deprecation of thread interrupts (#555) in Lucene.NET which were supported in the Java version. We make a best effort to support them using UninterrruptableMonitor instead of lock statements, but since a lock may be taken in any library we depend on that may throw ThreadInterruptedException from the action of taking a lock, we cannot 100% guarantee that we can catch every one of these exceptions in order to rollback an in-process commit. In Java, taking a lock does not throw an exception in any case.
Is there an existing issue for this?
Task description
This test was ported and added in #786 (to close #768).
Unfortunately, it fails intermittently. A user shared in Lucene.net corrupted index (segments.gen) on StackOverflow that this appears to be due to a real problem that happens in production.
The failure may or may not be related to the deprecation of thread interrupts (#555) in Lucene.NET which were supported in the Java version. We make a best effort to support them using
UninterrruptableMonitorinstead oflockstatements, but since a lock may be taken in any library we depend on that may throwThreadInterruptedExceptionfrom the action of taking a lock, we cannot 100% guarantee that we can catch every one of these exceptions in order to rollback an in-process commit. In Java, taking a lock does not throw an exception in any case.