diff --git a/scripts/ci/deploy/databend-query-standalone-hive.sh b/scripts/ci/deploy/databend-query-standalone-hive.sh index 7be2afa728c0..e5d9966cf025 100755 --- a/scripts/ci/deploy/databend-query-standalone-hive.sh +++ b/scripts/ci/deploy/databend-query-standalone-hive.sh @@ -10,6 +10,7 @@ BUILD_PROFILE=${BUILD_PROFILE:-debug} killall databend-query || true killall databend-meta || true +killall open-sharing || true sleep 1 for bin in databend-query databend-meta; do @@ -31,4 +32,4 @@ echo 'Start databend-query...' nohup target/${BUILD_PROFILE}/databend-query -c scripts/ci/deploy/config/databend-query-node-hive.toml & echo "Waiting on databend-query 10 seconds..." -python3 scripts/ci/wait_tcp.py --timeout 30 --port 3307 +python3 scripts/ci/wait_tcp.py --timeout 30 --port 8000 diff --git a/scripts/ci/deploy/databend-query-standalone-native.sh b/scripts/ci/deploy/databend-query-standalone-native.sh index cbae2ad37163..f5d45249ccb4 100755 --- a/scripts/ci/deploy/databend-query-standalone-native.sh +++ b/scripts/ci/deploy/databend-query-standalone-native.sh @@ -29,8 +29,7 @@ echo "Waiting on databend-meta 10 seconds..." python3 scripts/ci/wait_tcp.py --timeout 30 --port 9191 echo 'Start databend-query with native...' - nohup target/${BUILD_PROFILE}/databend-query -c scripts/ci/deploy/config/databend-query-node-native.toml --internal-enable-sandbox-tenant & echo "Waiting on databend-query 10 seconds..." -python3 scripts/ci/wait_tcp.py --timeout 30 --port 3307 +python3 scripts/ci/wait_tcp.py --timeout 30 --port 8000 diff --git a/scripts/ci/deploy/databend-query-standalone.sh b/scripts/ci/deploy/databend-query-standalone.sh index 642fccbfeb01..cadcc5b80d24 100755 --- a/scripts/ci/deploy/databend-query-standalone.sh +++ b/scripts/ci/deploy/databend-query-standalone.sh @@ -32,4 +32,4 @@ echo 'Start databend-query...' nohup target/${BUILD_PROFILE}/databend-query -c scripts/ci/deploy/config/databend-query-node-1.toml --internal-enable-sandbox-tenant & echo "Waiting on databend-query 10 seconds..." -python3 scripts/ci/wait_tcp.py --timeout 30 --port 3307 +python3 scripts/ci/wait_tcp.py --timeout 30 --port 8000 diff --git a/src/query/service/src/servers/http/v1/query/http_query.rs b/src/query/service/src/servers/http/v1/query/http_query.rs index ed2128ba9e0f..49096a9ed8e3 100644 --- a/src/query/service/src/servers/http/v1/query/http_query.rs +++ b/src/query/service/src/servers/http/v1/query/http_query.rs @@ -26,6 +26,7 @@ use databend_common_base::runtime::TrySpawn; use databend_common_catalog::table_context::StageAttachment; use databend_common_exception::ErrorCode; use databend_common_exception::Result; +use databend_common_settings::ScopeLevel; use log::info; use log::warn; use minitrace::prelude::*; @@ -220,11 +221,10 @@ impl HttpQuery { return Err(ErrorCode::BadArguments( "last query on the session not finished", )); - } else { - let _ = http_query_manager - .remove_query(&query_id, RemoveReason::Canceled) - .await; } + let _ = http_query_manager + .remove_query(&query_id, RemoveReason::Canceled) + .await; } // wait for Arc to drop and detach itself from session // should not take too long @@ -473,7 +473,7 @@ impl HttpQuery { .settings .as_ref() .into_iter() - .filter(|item| item.default_value != item.user_value) + .filter(|item| matches!(item.level, ScopeLevel::Session)) .map(|item| (item.name.to_string(), item.user_value.as_string())) .collect::>(); let database = session_state.current_database.clone(); diff --git a/src/query/service/tests/it/servers/http/http_query_handlers.rs b/src/query/service/tests/it/servers/http/http_query_handlers.rs index f2ab51733074..58cc49f05316 100644 --- a/src/query/service/tests/it/servers/http/http_query_handlers.rs +++ b/src/query/service/tests/it/servers/http/http_query_handlers.rs @@ -1496,6 +1496,24 @@ async fn test_affect() -> Result<()> { )])), }), ), + ( + serde_json::json!({"sql": "set global max_threads=2", "session": {"settings": {"max_threads": "4", "timezone": "Asia/Shanghai"}}}), + Some(QueryAffect::ChangeSettings { + keys: vec!["max_threads".to_string()], + values: vec!["2".to_string()], + is_globals: vec![true], + }), + Some(HttpSessionConf { + database: Some("default".to_string()), + role: Some("account_admin".to_string()), + secondary_roles: None, + keep_server_session_secs: None, + settings: Some(BTreeMap::from([( + "timezone".to_string(), + "Asia/Shanghai".to_string(), + )])), + }), + ), ]; for (json, affect, session_conf) in sqls {