Skip to content

Commit fcac148

Browse files
authored
Renaming UC Volume retryable codes and retry timeout parameters as per Docs team feedback (#780)
* Rename UC timeout and retryable parameters based on Docs team feedback
1 parent a7b5112 commit fcac148

File tree

4 files changed

+26
-5
lines changed

4 files changed

+26
-5
lines changed

src/main/java/com/databricks/jdbc/api/impl/DatabricksConnectionContext.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,10 @@ public int getHttpConnectionPoolSize() {
795795
@Override
796796
public List<Integer> getUCIngestionRetriableHttpCodes() {
797797
return Arrays.stream(
798-
getParameter(DatabricksJdbcUrlParams.UC_INGESTION_RETRIABLE_HTTP_CODE).split(","))
798+
getParameter(
799+
DatabricksJdbcUrlParams.VOLUME_OPERATION_RETRYABLE_HTTP_CODE,
800+
getParameter(DatabricksJdbcUrlParams.UC_INGESTION_RETRIABLE_HTTP_CODE))
801+
.split(","))
799802
.map(String::trim)
800803
.filter(num -> num.matches("\\d+")) // Ensure only positive integers
801804
.map(Integer::parseInt)
@@ -805,7 +808,11 @@ public List<Integer> getUCIngestionRetriableHttpCodes() {
805808
@Override
806809
public int getUCIngestionRetryTimeoutSeconds() {
807810
// The Url param takes value in minutes
808-
return 60 * Integer.parseInt(getParameter(DatabricksJdbcUrlParams.UC_INGESTION_RETRY_TIMEOUT));
811+
return 60
812+
* Integer.parseInt(
813+
getParameter(
814+
DatabricksJdbcUrlParams.VOLUME_OPERATION_RETRY_TIMEOUT,
815+
getParameter(DatabricksJdbcUrlParams.UC_INGESTION_RETRY_TIMEOUT)));
809816
}
810817

811818
@Override

src/main/java/com/databricks/jdbc/common/DatabricksJdbcUrlParams.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,19 @@ public enum DatabricksJdbcUrlParams {
8585
ALLOWED_VOLUME_INGESTION_PATHS("VolumeOperationAllowedLocalPaths", ""),
8686
ALLOWED_STAGING_INGESTION_PATHS("StagingAllowedLocalPaths", ""),
8787
UC_INGESTION_RETRIABLE_HTTP_CODE(
88-
"UCIngestionRetriableHttpCode", "Retriable HTTP codes for UC Ingestion", "408,502,503,504"),
88+
"UCIngestionRetriableHttpCode", "Retryable HTTP codes for UC Ingestion", "408,502,503,504"),
89+
VOLUME_OPERATION_RETRYABLE_HTTP_CODE(
90+
"VolumeOperationRetryableHttpCode",
91+
"Retryable HTTP codes for UC Ingestion",
92+
"408,502,503,504"),
8993
UC_INGESTION_RETRY_TIMEOUT(
9094
"UCIngestionRetryTimeout",
9195
"The retry timeout in minutes for UC Ingestion HTTP requests.",
9296
"15"),
97+
VOLUME_OPERATION_RETRY_TIMEOUT(
98+
"VolumeOperationRetryTimeout",
99+
"The retry timeout in minutes for UC Ingestion HTTP requests.",
100+
"15"),
93101
ENABLE_REQUEST_TRACING("EnableRequestTracing", "flag to enable request tracing", "0"),
94102
HTTP_CONNECTION_POOL_SIZE("HttpConnectionPoolSize", "Maximum HTTP connection pool size", "100"),
95103
ENABLE_SQL_EXEC_HYBRID_RESULTS(

src/test/java/com/databricks/jdbc/TestConstants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,9 @@ public class TestConstants {
207207
public static final String VALID_URL_POLLING =
208208
"jdbc:databricks://e2-dogfood.staging.cloud.databricks.com:4473;ssl=1;asyncexecpollinterval=500;AuthMech=3;httpPath=/sql/1.0/warehouses/5c89f447c476a5a8;QueryResultCompressionType=1";
209209
public static final String VALID_URL_WITH_STAGING_ALLOWED_PATH =
210-
"jdbc:databricks://adb-565757575.18.azuredatabricks.net:4423/default;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/erg6767gg;LogLevel=debug;LogPath=./test1;auth_flow=2;StagingAllowedLocalPaths=/tmp";
210+
"jdbc:databricks://adb-565757575.18.azuredatabricks.net:4423/default;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/erg6767gg;LogLevel=debug;LogPath=./test1;auth_flow=2;StagingAllowedLocalPaths=/tmp;UCIngestionRetriableHttpCode=503,504;UCIngestionRetryTimeout=12";
211211
public static final String VALID_URL_WITH_VOLUME_ALLOWED_PATH =
212-
"jdbc:databricks://adb-565757575.18.azuredatabricks.net:4423/default;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/erg6767gg;LogLevel=debug;LogPath=./test1;auth_flow=2;VolumeOperationAllowedLocalPaths=/tmp2";
212+
"jdbc:databricks://adb-565757575.18.azuredatabricks.net:4423/default;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/erg6767gg;LogLevel=debug;LogPath=./test1;auth_flow=2;VolumeOperationAllowedLocalPaths=/tmp2;VolumeOperationRetryableHttpCode=429,503,504;VolumeOperationRetryTimeout=10";
213213

214214
public static final String VALID_URL_WITH_CONN_CATALOG_CONN_SCHEMA_PROVIDED =
215215
"jdbc:databricks://adb-565757575.18.azuredatabricks.net:4423/default;ssl=1;AuthMech=3;httpPath=/sql/1.0/warehouses/erg6767gg;LogLevel=debug;LogPath=./test1;auth_flow=2;VolumeOperationAllowedLocalPaths=/tmp2;connCatalog=sampleCatalog;connSchema=sampleSchema";

src/test/java/com/databricks/jdbc/api/impl/DatabricksConnectionContextTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,14 +392,20 @@ public void testGetVolumeOperationPathsFlag() throws Exception {
392392
DatabricksConnectionContext.parse(
393393
TestConstants.VALID_URL_WITH_VOLUME_ALLOWED_PATH, properties);
394394
assertEquals("/tmp2", connectionContext.getVolumeOperationAllowedPaths());
395+
assertEquals(List.of(429, 503, 504), connectionContext.getUCIngestionRetriableHttpCodes());
396+
assertEquals(600, connectionContext.getUCIngestionRetryTimeoutSeconds());
395397

396398
connectionContext =
397399
DatabricksConnectionContext.parse(
398400
TestConstants.VALID_URL_WITH_STAGING_ALLOWED_PATH, properties);
399401
assertEquals("/tmp", connectionContext.getVolumeOperationAllowedPaths());
402+
assertEquals(List.of(503, 504), connectionContext.getUCIngestionRetriableHttpCodes());
403+
assertEquals(720, connectionContext.getUCIngestionRetryTimeoutSeconds());
400404

401405
connectionContext = DatabricksConnectionContext.parse(TestConstants.VALID_URL_1, properties);
402406
assertEquals("", connectionContext.getVolumeOperationAllowedPaths());
407+
assertEquals(List.of(408, 502, 503, 504), connectionContext.getUCIngestionRetriableHttpCodes());
408+
assertEquals(900, connectionContext.getUCIngestionRetryTimeoutSeconds());
403409
}
404410

405411
@Test

0 commit comments

Comments
 (0)