Adar Dembo created KUDU-2535:
--------------------------------

             Summary: Convert preallocation warnings into errors
                 Key: KUDU-2535
                 URL: https://issues.apache.org/jira/browse/KUDU-2535
             Project: Kudu
          Issue Type: Bug
          Components: util
    Affects Versions: 1.8.0
            Reporter: Adar Dembo


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:
# 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.
# 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to