This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new 7d901da874f Pick "[enhencement](RowsetWriter) Don't delete files when
beta rowset writer destructed #25578" (#25746)
7d901da874f is described below
commit 7d901da874f4cdc89252d95534298ac38f51621a
Author: AlexYue <[email protected]>
AuthorDate: Mon Oct 23 17:53:59 2023 +0800
Pick "[enhencement](RowsetWriter) Don't delete files when beta rowset
writer destructed #25578" (#25746)
---
be/src/olap/rowset/beta_rowset_writer.cpp | 8 ++++----
be/src/olap/rowset/vertical_beta_rowset_writer.cpp | 9 ++++-----
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp
b/be/src/olap/rowset/beta_rowset_writer.cpp
index f048a02ffe1..5379ed65f1e 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -20,6 +20,7 @@
#include <assert.h>
// IWYU pragma: no_include <bthread/errno.h>
#include <errno.h> // IWYU pragma: keep
+#include <fmt/format.h>
#include <stdio.h>
#include <ctime> // time
@@ -33,7 +34,6 @@
#include "common/config.h"
#include "common/logging.h"
#include "gutil/integral_types.h"
-#include "gutil/strings/substitute.h"
#include "io/fs/file_reader.h"
#include "io/fs/file_reader_options.h"
#include "io/fs/file_system.h"
@@ -87,8 +87,8 @@ BetaRowsetWriter::~BetaRowsetWriter() {
// TODO(lingbin): Should wrapper exception logic, no need to know file ops
directly.
if (!_already_built) { // abnormal exit, remove all files generated
_segment_writer.reset(); // ensure all files are closed
- auto fs = _rowset_meta->fs();
- if (!fs) {
+ const auto& fs = _rowset_meta->fs();
+ if (!fs || !_rowset_meta->is_local()) { // Remote fs will delete them
asynchronously
return;
}
auto max_segment_id = std::max(_num_segment.load(),
_next_segment_id.load());
@@ -99,7 +99,7 @@ BetaRowsetWriter::~BetaRowsetWriter() {
// will be cleaned up by the GC background. So here we only print
the error
// message when we encounter an error.
WARN_IF_ERROR(fs->delete_file(seg_path),
- strings::Substitute("Failed to delete file=$0",
seg_path));
+ fmt::format("Failed to delete file={}", seg_path));
}
}
}
diff --git a/be/src/olap/rowset/vertical_beta_rowset_writer.cpp
b/be/src/olap/rowset/vertical_beta_rowset_writer.cpp
index 4ae2ee017f6..10cef8e1675 100644
--- a/be/src/olap/rowset/vertical_beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/vertical_beta_rowset_writer.cpp
@@ -17,6 +17,7 @@
#include "olap/rowset/vertical_beta_rowset_writer.h"
+#include <fmt/format.h>
#include <gen_cpp/olap_file.pb.h>
#include <algorithm>
@@ -29,7 +30,6 @@
// IWYU pragma: no_include <opentelemetry/common/threadlocal.h>
#include "common/compiler_util.h" // IWYU pragma: keep
#include "common/logging.h"
-#include "gutil/strings/substitute.h"
#include "io/fs/file_reader_writer_fwd.h"
#include "io/fs/file_system.h"
#include "io/fs/file_writer.h"
@@ -45,8 +45,8 @@ using namespace ErrorCode;
VerticalBetaRowsetWriter::~VerticalBetaRowsetWriter() {
if (!_already_built) {
- auto fs = _rowset_meta->fs();
- if (!fs) {
+ const auto& fs = _rowset_meta->fs();
+ if (!fs || !_rowset_meta->is_local()) { // Remote fs will delete them
asynchronously
return;
}
for (auto& segment_writer : _segment_writers) {
@@ -57,8 +57,7 @@ VerticalBetaRowsetWriter::~VerticalBetaRowsetWriter() {
// Even if an error is encountered, these files that have not been
cleaned up
// will be cleaned up by the GC background. So here we only print
the error
// message when we encounter an error.
- WARN_IF_ERROR(fs->delete_file(path),
- strings::Substitute("Failed to delete file=$0",
path));
+ WARN_IF_ERROR(fs->delete_file(path), fmt::format("Failed to delete
file={}", path));
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]