Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-6902

Fail fsync immediately

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 5.3.1
    • 5.4, 6.0
    • core/store
    • None
    • New, Patch Available

    Description

      While analysing a build issue in Elasticsearch I stumpled upon org.apache.lucene.util.IOUtils.fsync. It has a retry loop in fsync whenever an IOException occurs. However, there are lots of instances where a retry is not useful, e.g. when a channel has been closed, a ClosedChannelException is thrown and IOUtils#fsync still tries to fsync multiple times on the closed channel.

      After bringing the issue to Robert's attention, he even opted for removing the retry logic entirely for fsyncing.

      Please find attached a patch that removes the retry logic.

      Attachments

        1. ioutils-fsync-fail-fast.patch
          4 kB
          Daniel Mitterdorfer
        2. ioutils-fsync-fail-fast.patch
          4 kB
          Uwe Schindler

        Activity

          People

            uschindler Uwe Schindler
            dm Daniel Mitterdorfer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: