This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 9d5ec37309a branch-2.1: [fix](group commit) replay wal failed when 
enable global enable_memtable_on_sink_node #47968 (#48026)
9d5ec37309a is described below

commit 9d5ec37309a561d0c27817b715afff47962ed879
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Feb 19 09:29:31 2025 +0800

    branch-2.1: [fix](group commit) replay wal failed when enable global 
enable_memtable_on_sink_node #47968 (#48026)
    
    Cherry-picked from #47968
    
    Co-authored-by: meiyi <me...@selectdb.com>
---
 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 6a648c93150..451ecf69ea2 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->master_info not set backend_id";
     }
+    if (ctx->wal_id > 0) {
+        request.__set_partial_update(false);
+    }
 
     // plan this load
     TNetworkAddress master_addr = _exec_env->master_info()->network_address;
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 313125ce933..9c019b02039 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
@@ -2155,6 +2155,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 9def3306f7c..d753105bc79 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: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to