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)