This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 08b3b73c3a5 [fix](regression) Fix regression run in cloud use non-root
user #34340 (#37279)
08b3b73c3a5 is described below
commit 08b3b73c3a541e14acd506e7868e0bb8dc19e785
Author: deardeng <[email protected]>
AuthorDate: Tue Jul 9 20:48:30 2024 +0800
[fix](regression) Fix regression run in cloud use non-root user #34340
(#37279)
cherry pick from #34340
---
.../org/apache/doris/regression/Config.groovy | 25 ++++++++++++++++++++++
.../org/apache/doris/regression/suite/Suite.groovy | 7 ++++--
.../doris/regression/suite/SuiteContext.groovy | 2 +-
3 files changed, 31 insertions(+), 3 deletions(-)
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
index 7d8a45d7209..cfd13ac94ec 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/Config.groovy
@@ -33,6 +33,12 @@ import static org.apache.doris.regression.ConfigOptions.*
import org.apache.doris.thrift.TNetworkAddress;
+enum RunMode {
+ UNKNOWN,
+ NOT_CLOUD,
+ CLOUD
+}
+
@Slf4j
@CompileStatic
class Config {
@@ -57,6 +63,8 @@ class Config {
public String metaServiceHttpAddress
+ public RunMode isCloudMode = RunMode.UNKNOWN
+
public String suitePath
public String dataPath
public String realDataPath
@@ -544,10 +552,27 @@ class Config {
}
}
+ boolean fetchRunMode() {
+ if (isCloudMode == RunMode.UNKNOWN) {
+ try {
+ def result = JdbcUtils.executeToMapArray(getRootConnection(),
"SHOW FRONTEND CONFIG LIKE 'cloud_unique_id'")
+ isCloudMode = result[0].Value.toString().isEmpty() ?
RunMode.NOT_CLOUD : RunMode.CLOUD
+ } catch (Throwable t) {
+ throw new IllegalStateException("Fetch server config
'cloud_unique_id' failed, jdbcUrl: ${jdbcUrl}", t)
+ }
+ }
+ return isCloudMode == RunMode.CLOUD
+
+ }
+
Connection getConnection() {
return DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword)
}
+ Connection getRootConnection() {
+ return DriverManager.getConnection(jdbcUrl, 'root', '')
+ }
+
Connection getConnectionByDbName(String dbName) {
String dbUrl = buildUrlWithDb(jdbcUrl, dbName)
tryCreateDbIfNotExist(dbName)
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
index a5a2ccb2a50..2f64ea40fc2 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/Suite.groovy
@@ -41,7 +41,9 @@ import org.apache.doris.regression.util.JdbcUtils
import org.apache.doris.regression.util.Hdfs
import org.apache.doris.regression.util.SuiteUtils
import org.apache.doris.regression.util.DebugPoint
+import org.apache.doris.regression.RunMode
import org.junit.jupiter.api.Assertions
+
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import groovy.util.logging.Slf4j
@@ -1193,8 +1195,9 @@ class Suite implements GroovyInterceptable {
return result.last().get(0);
}
- boolean isCloudCluster() {
- return !getFeConfig("cloud_unique_id").isEmpty()
+ boolean isCloudMode() {
+ // APPR: in 2.1 branch not have cloud, so just return false
+ return false
}
String getFeConfig(String key) {
diff --git
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteContext.groovy
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteContext.groovy
index 906e90fcee0..d9268643a44 100644
---
a/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteContext.groovy
+++
b/regression-test/framework/src/main/groovy/org/apache/doris/regression/suite/SuiteContext.groovy
@@ -144,7 +144,7 @@ class SuiteContext implements Closeable {
if (threadConnInfo == null) {
threadConnInfo = new ConnectionInfo()
threadConnInfo.conn = config.getConnectionByDbName(dbName)
- threadConnInfo.username = config.jdbcUser
+ threadConnInfo.username = config.jdbcUser
threadConnInfo.password = config.jdbcPassword
threadLocalConn.set(threadConnInfo)
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]