From 78da22b856d5b2bbc8aca6ab2acf35931b74543e Mon Sep 17 00:00:00 2001 From: Axlgrep Date: Tue, 2 Jul 2024 16:12:52 +0800 Subject: [PATCH] bugfix braft logs were also cleared when snapshot meta file write failed, causing data to be unrecoverable upon restart --- src/braft/snapshot.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/braft/snapshot.cpp b/src/braft/snapshot.cpp index 7a97132a..ec97c06f 100644 --- a/src/braft/snapshot.cpp +++ b/src/braft/snapshot.cpp @@ -618,9 +618,10 @@ int LocalSnapshotStorage::close(SnapshotWriter* writer_base, if (0 != ret) { break; } - ret = writer->sync(); - if (ret != 0) { - break; + if (writer->sync() != 0) { + LOG(WARNING) << "Sync meta table to disk failed, path " << writer->get_path(); + ret = EIO; + break; } int64_t old_index = 0; {