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

suxiaogang223 pushed a commit to branch feature/paimon-jni-write-v1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 40c979f9b14de91738bc3a56c47a3cf9af4de73c
Author: Socrates <[email protected]>
AuthorDate: Wed Jul 8 15:15:22 2026 +0800

    [feature](paimon) Step 3: BE->FE RPC layer for CommitMessages
    
    - Add paimon_commit_messages field to TReportExecStatusParams
    - Wire RuntimeState::paimon_commit_messages() into RPC params
    - VPaimonTableWriter::close() collects TPaimonCommitMessage and
      forwards them to RuntimeState
    
    Co-Authored-By: Claude <[email protected]>
---
 be/src/exec/pipeline/pipeline_fragment_context.cpp | 14 ++++++++++++++
 gensrc/thrift/FrontendService.thrift               | 12 +++++++-----
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/be/src/exec/pipeline/pipeline_fragment_context.cpp 
b/be/src/exec/pipeline/pipeline_fragment_context.cpp
index ad1e3947ebb..1eeed47c442 100644
--- a/be/src/exec/pipeline/pipeline_fragment_context.cpp
+++ b/be/src/exec/pipeline/pipeline_fragment_context.cpp
@@ -2524,6 +2524,20 @@ void 
PipelineFragmentContext::_coordinator_callback(const ReportStatusRequest& r
         }
     }
 
+    if (auto pcm = req.runtime_state->paimon_commit_messages(); !pcm.empty()) {
+        params.__isset.paimon_commit_messages = true;
+        
params.paimon_commit_messages.insert(params.paimon_commit_messages.end(), 
pcm.begin(),
+                                              pcm.end());
+    } else if (!req.runtime_states.empty()) {
+        for (auto* rs : req.runtime_states) {
+            if (auto rs_pcm = rs->paimon_commit_messages(); !rs_pcm.empty()) {
+                params.__isset.paimon_commit_messages = true;
+                
params.paimon_commit_messages.insert(params.paimon_commit_messages.end(),
+                                                      rs_pcm.begin(), 
rs_pcm.end());
+            }
+        }
+    }
+
     req.runtime_state->get_unreported_errors(&(params.error_log));
     params.__isset.error_log = (!params.error_log.empty());
 
diff --git a/gensrc/thrift/FrontendService.thrift 
b/gensrc/thrift/FrontendService.thrift
index c1026ee3797..5824fcb7ac0 100644
--- a/gensrc/thrift/FrontendService.thrift
+++ b/gensrc/thrift/FrontendService.thrift
@@ -325,14 +325,16 @@ struct TReportExecStatusParams {
 
   28: optional list<DataSinks.TIcebergCommitData> iceberg_commit_datas
 
-  29: optional i64 txn_id
-  30: optional string label
+  29: optional list<DataSinks.TPaimonCommitMessage> paimon_commit_messages
 
-  31: optional list<TFragmentInstanceReport> fragment_instance_reports;
+  30: optional i64 txn_id
+  31: optional string label
 
-  32: optional list<DataSinks.TMCCommitData> mc_commit_datas
+  32: optional list<TFragmentInstanceReport> fragment_instance_reports;
 
-  33: optional string first_error_msg
+  33: optional list<DataSinks.TMCCommitData> mc_commit_datas
+
+  34: optional string first_error_msg
 }
 
 struct TFeResult {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to