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 1bdffbaf904 branch-3.0: [fix](group commit) replay wal failed when
enable global enable_memtable_on_sink_node #47968 (#48027)
1bdffbaf904 is described below
commit 1bdffbaf904176d82112fafaf60a0a22a1010f8d
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Feb 24 10:55:31 2025 +0800
branch-3.0: [fix](group commit) replay wal failed when enable global
enable_memtable_on_sink_node #47968 (#48027)
Cherry-picked from #47968
Co-authored-by: meiyi <[email protected]>
---
be/src/http/action/http_stream.cpp | 3 +++
.../src/main/java/org/apache/doris/service/FrontendServiceImpl.java | 3 +++
.../insert_p0/group_commit/test_group_commit_replay_wal.groovy | 5 +++++
3 files changed, 11 insertions(+)
diff --git a/be/src/http/action/http_stream.cpp
b/be/src/http/action/http_stream.cpp
index 99205368616..b328dd17b5b 100644
--- a/be/src/http/action/http_stream.cpp
+++ b/be/src/http/action/http_stream.cpp
@@ -330,6 +330,9 @@ Status HttpStreamAction::process_put(HttpRequest* http_req,
} else {
LOG(WARNING) << "_exec_env->cluster_info not set backend_id";
}
+ if (ctx->wal_id > 0) {
+ request.__set_partial_update(false);
+ }
// plan this load
TNetworkAddress master_addr = _exec_env->cluster_info()->master_fe_addr;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
index 5ab79333385..8d95183dd88 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
@@ -2206,6 +2206,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
ctx.getSessionVariable().enableMemtableOnSinkNode =
Config.stream_load_default_memtable_on_sink_node;
}
ctx.getSessionVariable().groupCommit = request.getGroupCommitMode();
+ if (request.isSetPartialUpdate() && !request.isPartialUpdate()) {
+ ctx.getSessionVariable().setEnableUniqueKeyPartialUpdate(false);
+ }
try {
HttpStreamParams httpStreamParams = initHttpStreamPlan(request,
ctx);
int loadStreamPerNode = 2;
diff --git
a/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy
b/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy
index 9c4e4e4f14a..8ed994f74a9 100644
---
a/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy
+++
b/regression-test/suites/insert_p0/group_commit/test_group_commit_replay_wal.groovy
@@ -42,6 +42,11 @@ suite("test_group_commit_replay_wal", "nonConcurrent") {
properties("replication_num" = "1", "group_commit_interval_ms"="2000")
"""
+ sql """ set global enable_memtable_on_sink_node = true """
+ onFinish {
+ sql """ set global enable_memtable_on_sink_node = false """
+ }
+
// 1. load success but commit rpc timeout
// 2. should skip replay because of fe throw LabelAlreadyUsedException and
txn status is VISIBLE
GetDebugPoint().clearDebugPointsForAllBEs()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]