Summary:
Fsync after writing global sequence number to the ingestion file in ExternalSstFileIngestionJob. Otherwise the file metadata could be incorrect.
Closes https://github.com/facebook/rocksdb/pull/3644
Differential Revision:
D7373813
Pulled By: sagar0
fbshipit-source-id:
4da2c9e71a8beb5c08b4ac955f288ee1576358b8
# Rocksdb Change Log
+## 5.12.2 (3/23/2018)
+### Bug Fixes
+* Fsync after writing global seq number to the ingestion file in ExternalSstFileIngestionJob.
+
## 5.12.1 (3/16/2018)
### Public API Change
* RocksDBOptionsParser::Parse()'s `ignore_unknown_options` argument will only be effective if the option file shows it is generated using a higher version of RocksDB than the current version.
std::string seqno_val;
PutFixed64(&seqno_val, seqno);
status = rwfile->Write(file_to_ingest->global_seqno_offset, seqno_val);
+ if (status.ok()) {
+ status = rwfile->Fsync();
+ }
if (status.ok()) {
file_to_ingest->assigned_seqno = seqno;
}