This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new cd59bc3fd4b branch-3.0: [fix](move-memtable) immediately return error
when close wait failed #44344 (#44386)
cd59bc3fd4b is described below
commit cd59bc3fd4b2759c1a82c8601e1e65d65d48b797
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Nov 21 23:15:02 2024 +0800
branch-3.0: [fix](move-memtable) immediately return error when close wait
failed #44344 (#44386)
Cherry-picked from #44344
Co-authored-by: Kaijie Chen <[email protected]>
---
be/src/vec/sink/writer/vtablet_writer_v2.cpp | 7 ++++---
be/src/vec/sink/writer/vtablet_writer_v2.h | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/be/src/vec/sink/writer/vtablet_writer_v2.cpp
b/be/src/vec/sink/writer/vtablet_writer_v2.cpp
index 5d47aec0cf3..17f83911a89 100644
--- a/be/src/vec/sink/writer/vtablet_writer_v2.cpp
+++ b/be/src/vec/sink/writer/vtablet_writer_v2.cpp
@@ -606,7 +606,7 @@ Status VTabletWriterV2::close(Status exec_status) {
// close_wait on all non-incremental streams, even if this is not the
last sink.
// because some per-instance data structures are now shared among all
sinks
// due to sharing delta writers and load stream stubs.
- _close_wait(false);
+ RETURN_IF_ERROR(_close_wait(false));
// send CLOSE_LOAD on all incremental streams if this is the last sink.
// this must happen after all non-incremental streams are closed,
@@ -616,7 +616,7 @@ Status VTabletWriterV2::close(Status exec_status) {
}
// close_wait on all incremental streams, even if this is not the last
sink.
- _close_wait(true);
+ RETURN_IF_ERROR(_close_wait(true));
// calculate and submit commit info
if (is_last_sink) {
@@ -665,7 +665,7 @@ Status VTabletWriterV2::close(Status exec_status) {
return status;
}
-void VTabletWriterV2::_close_wait(bool incremental) {
+Status VTabletWriterV2::_close_wait(bool incremental) {
SCOPED_TIMER(_close_load_timer);
auto st = _load_stream_map->for_each_st(
[this, incremental](int64_t dst_id, LoadStreamStubs& streams) ->
Status {
@@ -690,6 +690,7 @@ void VTabletWriterV2::_close_wait(bool incremental) {
if (!st.ok()) {
LOG(WARNING) << "close_wait failed: " << st << ", load_id=" <<
print_id(_load_id);
}
+ return st;
}
void VTabletWriterV2::_calc_tablets_to_commit() {
diff --git a/be/src/vec/sink/writer/vtablet_writer_v2.h
b/be/src/vec/sink/writer/vtablet_writer_v2.h
index 52cae53a0b5..46a3974bba8 100644
--- a/be/src/vec/sink/writer/vtablet_writer_v2.h
+++ b/be/src/vec/sink/writer/vtablet_writer_v2.h
@@ -148,7 +148,7 @@ private:
void _calc_tablets_to_commit();
- void _close_wait(bool incremental);
+ Status _close_wait(bool incremental);
void _cancel(Status status);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]