From 15e39808cd8b27aa300f4835ce9af04ca092111a Mon Sep 17 00:00:00 2001 From: Yaroslav Litvinov Date: Mon, 24 Nov 2025 23:28:26 +0100 Subject: [PATCH 1/2] fix retries happened during timeouts --- crates/api-snowflake-rest/src/server/logic.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/api-snowflake-rest/src/server/logic.rs b/crates/api-snowflake-rest/src/server/logic.rs index 718aa6c4..9f980d6f 100644 --- a/crates/api-snowflake-rest/src/server/logic.rs +++ b/crates/api-snowflake-rest/src/server/logic.rs @@ -102,13 +102,15 @@ pub async fn handle_query_request( sql_text.clone(), )); + // if retry-disable feature is enabled we ignory retries regardless of query_id is located or not + #[cfg(feature = "retry-disable")] + if query.retry_count.unwrap_or_default() > 0 { + return api_snowflake_rest_error::RetryDisabledSnafu.fail(); + } + let (result, query_id) = if query.retry_count.unwrap_or_default() > 0 && let Ok(query_id) = query_id_res { - #[cfg(feature = "retry-disable")] - if query.retry_count.unwrap_or_default() > 0 { - return api_snowflake_rest_error::RetryDisabledSnafu.fail(); - } let result = state.execution_svc.wait(query_id).await?; (result, query_id) } else { From d09d9c8816f0ff5075b9e6d34770ed310d93ccb8 Mon Sep 17 00:00:00 2001 From: Yaroslav Litvinov Date: Mon, 24 Nov 2025 23:50:09 +0100 Subject: [PATCH 2/2] fmt --- crates/api-snowflake-rest/src/server/logic.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/api-snowflake-rest/src/server/logic.rs b/crates/api-snowflake-rest/src/server/logic.rs index 9f980d6f..1f7c3590 100644 --- a/crates/api-snowflake-rest/src/server/logic.rs +++ b/crates/api-snowflake-rest/src/server/logic.rs @@ -103,7 +103,7 @@ pub async fn handle_query_request( )); // if retry-disable feature is enabled we ignory retries regardless of query_id is located or not - #[cfg(feature = "retry-disable")] + #[cfg(feature = "retry-disable")] if query.retry_count.unwrap_or_default() > 0 { return api_snowflake_rest_error::RetryDisabledSnafu.fail(); }