Hello Marton Greber, Ashwani Raina, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/24963
to look at the new patch set (#3).
Change subject: [util] an update on --never_fsync flag usage
......................................................................
[util] an update on --never_fsync flag usage
This changelist extends --never_fsync flag's application into the
Posix{RW,Writable}File::Flush() methods: they invoke sync_file_range()
system call, conceptually doing exactly the same what fsync() does, but
for a portion of a file [1]. The motivation for this came from a few
experiments running a test workload generated by the `kudu perf loadgen`
CLI tool against a Kudu cluster that doesn't synchronize data to the
underlying storage at critical data points.
In addition, introduce trace metric counters for call sites of the
sync_file_range() syscall and count in yet another fsync() invocation
on a directory in PosixEnv::SyncDir().
Also, wrap all FLAGS_never_fsync-based criteria into the PREDICT_FALSE()
macro since --never_fsync is a hidden/test-only flag which shouldn't be
ever enabled in a real production system.
[1] https://man7.org/linux/man-pages/man2/sync_file_range.2.html
Change-Id: I637e3bd98da98495a38f78176a4a862ab6ae8dd3
---
M src/kudu/util/env-test.cc
M src/kudu/util/env_posix.cc
2 files changed, 196 insertions(+), 18 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/63/24963/3
--
To view, visit http://gerrit.cloudera.org:8080/24963
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I637e3bd98da98495a38f78176a4a862ab6ae8dd3
Gerrit-Change-Number: 24963
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Ashwani Raina <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>