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

morningman 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 6bae390d60f branch-3.0: [opt](paimon)Optimize the display of 
splitstate to prevent too many splits #43982 (#44059)
6bae390d60f is described below

commit 6bae390d60fc36a6b332b0ef0f2a133ba0a3af79
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Nov 18 09:54:24 2024 +0800

    branch-3.0: [opt](paimon)Optimize the display of splitstate to prevent too 
many splits #43982 (#44059)
    
    Cherry-picked from #43982
    
    Co-authored-by: wuwenchi <[email protected]>
---
 .../doris/datasource/paimon/source/PaimonScanNode.java   | 16 ++++++++++++++--
 .../external_table_p0/paimon/paimon_tb_mix_format.groovy |  5 +++++
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java
 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java
index 29e3d0529f2..b61964481da 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/source/PaimonScanNode.java
@@ -350,8 +350,20 @@ public class PaimonScanNode extends FileQueryScanNode {
 
         if (detailLevel == TExplainLevel.VERBOSE) {
             sb.append(prefix).append("PaimonSplitStats: \n");
-            for (SplitStat splitStat : splitStats) {
-                sb.append(String.format("%s  %s\n", prefix, splitStat));
+            int size = splitStats.size();
+            if (size <= 4) {
+                for (SplitStat splitStat : splitStats) {
+                    sb.append(String.format("%s  %s\n", prefix, splitStat));
+                }
+            } else {
+                for (int i = 0; i < 3; i++) {
+                    SplitStat splitStat = splitStats.get(i);
+                    sb.append(String.format("%s  %s\n", prefix, splitStat));
+                }
+                int other = size - 4;
+                sb.append(prefix).append("  ... other 
").append(other).append(" paimon split stats ...\n");
+                SplitStat split = splitStats.get(size - 1);
+                sb.append(String.format("%s  %s\n", prefix, split));
             }
         }
         return sb.toString();
diff --git 
a/regression-test/suites/external_table_p0/paimon/paimon_tb_mix_format.groovy 
b/regression-test/suites/external_table_p0/paimon/paimon_tb_mix_format.groovy
index c8569f5c03f..bb171d77b20 100644
--- 
a/regression-test/suites/external_table_p0/paimon/paimon_tb_mix_format.groovy
+++ 
b/regression-test/suites/external_table_p0/paimon/paimon_tb_mix_format.groovy
@@ -49,6 +49,11 @@ suite("paimon_tb_mix_format", 
"p0,external,doris,external_docker,external_docker
 
         sql """set force_jni_scanner=false"""
         qt_order """ select * from test_tb_mix_format order by par,id; """
+
+        explain {
+            sql("verbose select * from test_tb_mix_format")
+            contains("... other 16 paimon split stats ...")
+        }
     } finally {
         sql """set force_jni_scanner=false"""
     }


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

Reply via email to