This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-1.2-lts by this push: new b3bed1c5e7 [1.2][improvement](jdbc) Set the JDBC connection timeout to be configurable (#20687) b3bed1c5e7 is described below commit b3bed1c5e7fc8626cf5c3b475a204f58614c04cf Author: zy-kkk <zhongy...@gmail.com> AuthorDate: Mon Jun 12 16:11:30 2023 +0800 [1.2][improvement](jdbc) Set the JDBC connection timeout to be configurable (#20687) --- bin/start_be.sh | 12 ++++++------ conf/be.conf | 4 ++-- .../src/main/java/org/apache/doris/udf/JdbcExecutor.java | 7 +++++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/bin/start_be.sh b/bin/start_be.sh index b36c1569a4..e0821b2e00 100755 --- a/bin/start_be.sh +++ b/bin/start_be.sh @@ -271,18 +271,18 @@ java_version="$( CUR_DATE=$(date +%Y%m%d-%H%M%S) LOG_PATH="-DlogPath=${DORIS_HOME}/log/jni.log" COMMON_OPTS="-Dsun.java.command=DorisBE -XX:-CriticalJNINatives" -JDBC_OPTS="-DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000" +JDBC_OPTS="-DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000 -DJDBC_MAX_WAIT_TIME=5000" if [[ "${java_version}" -gt 8 ]]; then - if [[ -z ${JAVA_OPTS} ]]; then - JAVA_OPTS="-Xmx1024m ${LOG_PATH} -Xloggc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS} ${JDBC_OPTS}" - fi - final_java_opt="${JAVA_OPTS}" -else if [[ -z ${JAVA_OPTS_FOR_JDK_9} ]]; then JAVA_OPTS_FOR_JDK_9="-Xmx1024m ${LOG_PATH} -Xlog:gc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS} ${JDBC_OPTS}" fi final_java_opt="${JAVA_OPTS_FOR_JDK_9}" +else + if [[ -z ${JAVA_OPTS} ]]; then + JAVA_OPTS="-Xmx1024m ${LOG_PATH} -Xloggc:${DORIS_HOME}/log/be.gc.log.${CUR_DATE} ${COMMON_OPTS} ${JDBC_OPTS}" + fi + final_java_opt="${JAVA_OPTS}" fi if [[ "${MACHINE_OS}" == "Darwin" ]]; then diff --git a/conf/be.conf b/conf/be.conf index dcb9135813..4604d2b9ad 100644 --- a/conf/be.conf +++ b/conf/be.conf @@ -18,10 +18,10 @@ PPROF_TMPDIR="$DORIS_HOME/log/" CUR_DATE=`date +%Y%m%d-%H%M%S` -JAVA_OPTS="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log -Xloggc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000" +JAVA_OPTS="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log -Xloggc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000 -DJDBC_MAX_WAIT_TIME=5000" # For jdk 9+, this JAVA_OPTS will be used as default JVM options -JAVA_OPTS_FOR_JDK_9="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log -Xlog:gc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000" +JAVA_OPTS_FOR_JDK_9="-Xmx1024m -DlogPath=$DORIS_HOME/log/jni.log -Xlog:gc:$DORIS_HOME/log/be.gc.log.$CUR_DATE -Dsun.java.command=DorisBE -XX:-CriticalJNINatives -DJDBC_MIN_POOL=1 -DJDBC_MAX_POOL=100 -DJDBC_MAX_IDEL_TIME=300000 -DJDBC_MAX_WAIT_TIME=5000" # since 1.2, the JAVA_HOME need to be set to run BE process. # JAVA_HOME=/path/to/jdk/ diff --git a/fe/java-udf/src/main/java/org/apache/doris/udf/JdbcExecutor.java b/fe/java-udf/src/main/java/org/apache/doris/udf/JdbcExecutor.java index 2dfb81020d..e6ef69196f 100644 --- a/fe/java-udf/src/main/java/org/apache/doris/udf/JdbcExecutor.java +++ b/fe/java-udf/src/main/java/org/apache/doris/udf/JdbcExecutor.java @@ -76,6 +76,7 @@ public class JdbcExecutor { private int maxPoolSize; private int minIdleSize; private int maxIdelTime; + private int maxWaitTime; public JdbcExecutor(byte[] thriftParams) throws Exception { TJdbcExecutorCtorParams request = new TJdbcExecutorCtorParams(); @@ -88,11 +89,13 @@ public class JdbcExecutor { minPoolSize = Integer.valueOf(System.getProperty("JDBC_MIN_POOL", "1")); maxPoolSize = Integer.valueOf(System.getProperty("JDBC_MAX_POOL", "100")); maxIdelTime = Integer.valueOf(System.getProperty("JDBC_MAX_IDEL_TIME", "300000")); + maxWaitTime = Integer.valueOf(System.getProperty("JDBC_MAX_WAIT_TIME", "5000")); minIdleSize = minPoolSize > 0 ? 1 : 0; LOG.info("JdbcExecutor set minPoolSize = " + minPoolSize + ", maxPoolSize = " + maxPoolSize + ", maxIdelTime = " + maxIdelTime - + ", minIdleSize = " + minIdleSize); + + ", minIdleSize = " + minIdleSize + + ", maxWaitTime = " + maxWaitTime); init(request.driver_path, request.statement, request.batch_size, request.jdbc_driver_class, request.jdbc_url, request.jdbc_user, request.jdbc_password, request.op, request.table_type); } @@ -276,7 +279,7 @@ public class JdbcExecutor { ds.setMinIdle(minIdleSize); ds.setInitialSize(minPoolSize); ds.setMaxActive(maxPoolSize); - ds.setMaxWait(5000); + ds.setMaxWait(maxWaitTime); ds.setTestWhileIdle(true); ds.setTestOnBorrow(false); setValidationQuery(ds, tableType); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org