Summary:
With a regression bug was introduced two years ago, by https://github.com/facebook/rocksdb/commit/
6e9fbeb27c38329f33ae541302c44c8db8374f8c , we fail to check return status of fsync call. This can cause we miss the information from the file system and can potentially cause corrupted data which we could have been detected.
Closes https://github.com/facebook/rocksdb/pull/2495
Reviewed By: ajkr
Differential Revision:
D5321949
Pulled By: siying
fbshipit-source-id:
c68117914bb40700198fc37d0e4c63163a8a1031
# Rocksdb Change Log
+## 5.4.7 (06/28/2017)
+### Bug Fixes
+* Shouldn't ignore return value of fsync() in flush.
+
## 5.4.6 (05/30/2017)
### Bug Fixes
* Fix db_bench with lite build.
// Finish and check for file errors
if (s.ok() && !empty) {
StopWatch sw(env, ioptions.statistics, TABLE_SYNC_MICROS);
- file_writer->Sync(ioptions.use_fsync);
+ s = file_writer->Sync(ioptions.use_fsync);
}
if (s.ok() && !empty) {
s = file_writer->Close();