Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-2535

Convert preallocation warnings into errors

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.8.0
    • None
    • supportability, util
    • None

    Description

      Currently the PreAllocate() implementations in env_posix.cc will warn on failure while returning Status::OK. In the abstract it's true that preallocation can be viewed as an optimization, and that its success or failure shouldn't impact correctness. However, prominent parts of Kudu that use preallocation do depend on its correctness:

      1. The hole punch test will preallocate a file before punching a hole in it. If preallocation fails, the error will manifest in a different check performed by the test, which can obscure the true root cause of the error.
      2. The disk space reservation feature in the log block manager assumes that if preallocation is successful, the number of bytes on disk has grown accordingly. If that's not correct, the reservation feature may not behave correctly.

      In the past, el6 systems did not support preallocation, however that changed by el6.4. Given that Kudu's minimum el6 system requirement is el6.4, I think all supported platforms provide preallocation, so we can start treating preallocation failures as real errors instead of warnings.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            adar Adar Dembo

            Dates

              Created:
              Updated:

              Slack

                Issue deployment