Description
In various places we catch Throwable and suppress it, usually in exception handlers where we want to just throw the first exc we had hit.
But this is dangerous for a thread interrupt since it means we can swallow & ignore the interrupt.
We should at least catch the interrupt & restore the interrupt bit, if we can't rethrow it.
One example is in SegmentInfos where we write the segments.gen file... there are many other examples in SegmentInfos too.