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

lihaopeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 5e3a4e8bcbd [fix](arrow-flight-sql) Open 
regression-test/pipeline/p0/arrow_flight_sql (#36854)
5e3a4e8bcbd is described below

commit 5e3a4e8bcbd77a5e571a05e197c0cfbaff36ef97
Author: Xinyi Zou <zouxiny...@gmail.com>
AuthorDate: Fri Jul 12 19:31:29 2024 +0800

    [fix](arrow-flight-sql) Open regression-test/pipeline/p0/arrow_flight_sql 
(#36854)
    
    1. Fix `enableParallelResultSink` is true, ADBC client use QueryId to
    fetch result, else use FinstId.
    2. Add arrow flight sql conf in
    regression-test/pipeline/p0/conf/regression-conf.groovy.
    3. Add regression-test/suites/arrow_flight_sql_p0/test_select.groovy
---
 .../arrowflight/DorisFlightSqlProducer.java        | 11 +++++---
 regression-test/conf/regression-conf.groovy        |  2 +-
 .../data/arrow_flight_sql_p0/test_select.out       |  4 +++
 regression-test/pipeline/p0/conf/fe.conf           |  4 +--
 .../pipeline/p0/conf/regression-conf.groovy        |  6 +++++
 .../suites/arrow_flight_sql_p0/test_select.groovy  | 31 ++++++++++++++++++++++
 6 files changed, 52 insertions(+), 6 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java
 
b/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java
index af6d85c954e..16195469af9 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java
@@ -90,7 +90,7 @@ import java.util.concurrent.Executors;
 
 /**
  * Implementation of Arrow Flight SQL service
- *
+ * <p>
  * All methods must catch all possible Exceptions, print and throw CallStatus,
  * otherwise error message will be discarded.
  */
@@ -224,8 +224,13 @@ public class DorisFlightSqlProducer implements 
FlightSqlProducer, AutoCloseable
                 }
             } else {
                 // Now only query stmt will pull results from BE.
-                final ByteString handle = ByteString.copyFromUtf8(
-                        DebugUtil.printId(connectContext.queryId()) + ":" + 
query);
+                final ByteString handle;
+                if 
(connectContext.getSessionVariable().enableParallelResultSink()) {
+                    handle = 
ByteString.copyFromUtf8(DebugUtil.printId(connectContext.queryId()) + ":" + 
query);
+                } else {
+                    // only one instance
+                    handle = 
ByteString.copyFromUtf8(DebugUtil.printId(connectContext.getFinstId()) + ":" + 
query);
+                }
                 Schema schema = 
flightSQLConnectProcessor.fetchArrowFlightSchema(5000);
                 if (schema == null) {
                     throw CallStatus.INTERNAL.withDescription("fetch arrow 
flight schema is null").toRuntimeException();
diff --git a/regression-test/conf/regression-conf.groovy 
b/regression-test/conf/regression-conf.groovy
index 6d4d9156339..527b0231394 100644
--- a/regression-test/conf/regression-conf.groovy
+++ b/regression-test/conf/regression-conf.groovy
@@ -200,7 +200,7 @@ s3Region = "ap-hongkong"
 
 //arrow flight sql test config
 extArrowFlightSqlHost = "127.0.0.1"
-extArrowFlightSqlPort = 9090
+extArrowFlightSqlPort = 8080
 extArrowFlightSqlUser = "root"
 extArrowFlightSqlPassword= ""
 
diff --git a/regression-test/data/arrow_flight_sql_p0/test_select.out 
b/regression-test/data/arrow_flight_sql_p0/test_select.out
new file mode 100644
index 00000000000..d643597bbaf
--- /dev/null
+++ b/regression-test/data/arrow_flight_sql_p0/test_select.out
@@ -0,0 +1,4 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !arrow_flight_sql --
+777    4
+
diff --git a/regression-test/pipeline/p0/conf/fe.conf 
b/regression-test/pipeline/p0/conf/fe.conf
index ae5a97e2ba4..24853b0a0c6 100644
--- a/regression-test/pipeline/p0/conf/fe.conf
+++ b/regression-test/pipeline/p0/conf/fe.conf
@@ -30,11 +30,11 @@ LOG_DIR = ${DORIS_HOME}/log
 JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx4096m 
-XX:+HeapDumpOnOutOfMemoryError -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC 
-XX:MaxGCPauseMillis=200 -XX:+PrintGCDateStamps -XX:+PrintGCDetails 
-Xloggc:$DORIS_HOME/log/fe.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M 
-Dlog4j2.formatMsgNoLookups=true 
-Dcom.mysql.cj.disableAbandonedConnectionCleanup=true"
 
 # For jdk 17, this JAVA_OPTS will be used as default JVM options
-JAVA_OPTS_FOR_JDK_17="-Djavax.security.auth.useSubjectCredsOnly=false 
-Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=$DORIS_HOME/log/ 
-Xlog:gc*:$DORIS_HOME/log/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M
 -Dcom.mysql.cj.disableAbandonedConnectionCleanup=true"
+JAVA_OPTS_FOR_JDK_17="-Djavax.security.auth.useSubjectCredsOnly=false 
-Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=$DORIS_HOME/log/ 
-Xlog:gc*:$DORIS_HOME/log/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M
 -Dcom.mysql.cj.disableAbandonedConnectionCleanup=true 
--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens 
java.base/jdk.internal.ref=ALL-UNNAMED"
 
 sys_log_level = INFO
 sys_log_mode = NORMAL
-arrow_flight_sql_port = 8080
+arrow_flight_sql_port = 8081
 catalog_trash_expire_second=1
 #enable ssl for test
 enable_ssl = true
diff --git a/regression-test/pipeline/p0/conf/regression-conf.groovy 
b/regression-test/pipeline/p0/conf/regression-conf.groovy
index d449a4b5b8b..1c2fb4d08b6 100644
--- a/regression-test/pipeline/p0/conf/regression-conf.groovy
+++ b/regression-test/pipeline/p0/conf/regression-conf.groovy
@@ -141,6 +141,12 @@ s3BucketName = "doris-build-hk-1308700295"
 s3Region = "ap-hongkong"
 s3Provider = "COS"
 
+//arrow flight sql test config
+extArrowFlightSqlHost = "127.0.0.1"
+extArrowFlightSqlPort = 8081
+extArrowFlightSqlUser = "root"
+extArrowFlightSqlPassword= ""
+
 max_failure_num=50
 
 externalEnvIp="127.0.0.1"
diff --git a/regression-test/suites/arrow_flight_sql_p0/test_select.groovy 
b/regression-test/suites/arrow_flight_sql_p0/test_select.groovy
new file mode 100644
index 00000000000..55b3c301e24
--- /dev/null
+++ b/regression-test/suites/arrow_flight_sql_p0/test_select.groovy
@@ -0,0 +1,31 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_select", "arrow_flight_sql") {
+    def tableName = "test_select"
+    sql "DROP TABLE IF EXISTS ${tableName}"
+    sql """
+        create table ${tableName} (id int, name varchar(20)) DUPLICATE 
key(`id`) distributed by hash (`id`) buckets 4
+        properties ("replication_num"="1");
+        """
+    sql """INSERT INTO ${tableName} VALUES(111, "plsql111")"""
+    sql """INSERT INTO ${tableName} VALUES(222, "plsql222")"""
+    sql """INSERT INTO ${tableName} VALUES(333, "plsql333")"""
+    sql """INSERT INTO ${tableName} VALUES(111, "plsql333")"""
+    
+    qt_arrow_flight_sql "select sum(id) as a, count(1) as b from ${tableName}"
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to