Store the return value of Fsync for check
Summary: Pull Request resolved: https://github.com/facebook/rocksdb/pull/4361 Differential Revision: D9803723 Pulled By: riversand963 fbshipit-source-id: 5a0d4cd3e57fd195571dcd5822895ee00547fa6a
This commit is contained in:
parent
82057b0d8f
commit
8959063c9c
@ -593,10 +593,6 @@ Status CompactionJob::Run() {
|
|||||||
thread.join();
|
thread.join();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (output_directory_) {
|
|
||||||
output_directory_->Fsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
compaction_stats_.micros = env_->NowMicros() - start_micros;
|
compaction_stats_.micros = env_->NowMicros() - start_micros;
|
||||||
MeasureTime(stats_, COMPACTION_TIME, compaction_stats_.micros);
|
MeasureTime(stats_, COMPACTION_TIME, compaction_stats_.micros);
|
||||||
|
|
||||||
@ -611,6 +607,10 @@ Status CompactionJob::Run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (status.ok() && output_directory_) {
|
||||||
|
status = output_directory_->Fsync();
|
||||||
|
}
|
||||||
|
|
||||||
if (status.ok()) {
|
if (status.ok()) {
|
||||||
thread_pool.clear();
|
thread_pool.clear();
|
||||||
std::vector<const FileMetaData*> files_meta;
|
std::vector<const FileMetaData*> files_meta;
|
||||||
|
@ -371,8 +371,8 @@ Status FlushJob::WriteLevel0Table() {
|
|||||||
s.ToString().c_str(),
|
s.ToString().c_str(),
|
||||||
meta_.marked_for_compaction ? " (needs compaction)" : "");
|
meta_.marked_for_compaction ? " (needs compaction)" : "");
|
||||||
|
|
||||||
if (output_file_directory_ != nullptr) {
|
if (s.ok() && output_file_directory_ != nullptr) {
|
||||||
output_file_directory_->Fsync();
|
s = output_file_directory_->Fsync();
|
||||||
}
|
}
|
||||||
TEST_SYNC_POINT("FlushJob::WriteLevel0Table");
|
TEST_SYNC_POINT("FlushJob::WriteLevel0Table");
|
||||||
db_mutex_->Lock();
|
db_mutex_->Lock();
|
||||||
|
@ -377,7 +377,7 @@ Status SetCurrentFile(Env* env, const std::string& dbname,
|
|||||||
}
|
}
|
||||||
if (s.ok()) {
|
if (s.ok()) {
|
||||||
if (directory_to_fsync != nullptr) {
|
if (directory_to_fsync != nullptr) {
|
||||||
directory_to_fsync->Fsync();
|
s = directory_to_fsync->Fsync();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
env->DeleteFile(tmp);
|
env->DeleteFile(tmp);
|
||||||
|
@ -874,19 +874,19 @@ Status BackupEngineImpl::CreateNewBackupWithMetadata(
|
|||||||
GetAbsolutePath(GetPrivateFileRel(new_backup_id, false)),
|
GetAbsolutePath(GetPrivateFileRel(new_backup_id, false)),
|
||||||
&backup_private_directory);
|
&backup_private_directory);
|
||||||
if (backup_private_directory != nullptr) {
|
if (backup_private_directory != nullptr) {
|
||||||
backup_private_directory->Fsync();
|
s = backup_private_directory->Fsync();
|
||||||
}
|
}
|
||||||
if (private_directory_ != nullptr) {
|
if (s.ok() && private_directory_ != nullptr) {
|
||||||
private_directory_->Fsync();
|
s = private_directory_->Fsync();
|
||||||
}
|
}
|
||||||
if (meta_directory_ != nullptr) {
|
if (s.ok() && meta_directory_ != nullptr) {
|
||||||
meta_directory_->Fsync();
|
s = meta_directory_->Fsync();
|
||||||
}
|
}
|
||||||
if (shared_directory_ != nullptr) {
|
if (s.ok() && shared_directory_ != nullptr) {
|
||||||
shared_directory_->Fsync();
|
s = shared_directory_->Fsync();
|
||||||
}
|
}
|
||||||
if (backup_directory_ != nullptr) {
|
if (s.ok() && backup_directory_ != nullptr) {
|
||||||
backup_directory_->Fsync();
|
s = backup_directory_->Fsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1732,7 +1732,11 @@ std::pair<bool, int64_t> BlobDBImpl::DeleteObsoleteFiles(bool aborted) {
|
|||||||
|
|
||||||
// directory change. Fsync
|
// directory change. Fsync
|
||||||
if (file_deleted) {
|
if (file_deleted) {
|
||||||
dir_ent_->Fsync();
|
Status s = dir_ent_->Fsync();
|
||||||
|
if (!s.ok()) {
|
||||||
|
ROCKS_LOG_ERROR(db_options_.info_log, "Failed to sync dir %s: %s",
|
||||||
|
blob_dir_.c_str(), s.ToString().c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// put files back into obsolete if for some reason, delete failed
|
// put files back into obsolete if for some reason, delete failed
|
||||||
|
Loading…
Reference in New Issue
Block a user