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
## Unreleased
+### Bu Fixes
+* Shouldn't ignore return value of fsync() in flush.
+
## 5.5.0 (05/17/2017)
### New Features
* FIFO compaction to support Intra L0 compaction too with CompactionOptionsFIFO.allow_compaction=true.
// 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();