You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/06/12 08:11:38 UTC
[doris] branch branch-1.2-lts updated: [1.2][improvement](jdbc) Set the JDBC connection timeout to be configurable (#20687)
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 <zh...@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-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org