From aab5871cbfed35de494856f425d23da589654672 Mon Sep 17 00:00:00 2001 From: Jayant Singh Date: Wed, 7 Jan 2026 20:23:19 +0000 Subject: [PATCH] Make StreamingChunkProvider the default chunk provider Change EnableStreamingChunkProvider default value from 0 to 1, making StreamingChunkProvider the default for result fetching. This removes the experimental label as the implementation is now production-ready. - Update DatabricksJdbcUrlParams default from "0" to "1" - Update ArrowStreamResultTest to verify default behavior - Test that explicitly disabling still uses RemoteChunkProvider --- .../jdbc/common/DatabricksJdbcUrlParams.java | 4 ++-- .../jdbc/api/impl/arrow/ArrowStreamResultTest.java | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/databricks/jdbc/common/DatabricksJdbcUrlParams.java b/src/main/java/com/databricks/jdbc/common/DatabricksJdbcUrlParams.java index ddbec923f8..63213f51e5 100644 --- a/src/main/java/com/databricks/jdbc/common/DatabricksJdbcUrlParams.java +++ b/src/main/java/com/databricks/jdbc/common/DatabricksJdbcUrlParams.java @@ -190,8 +190,8 @@ public enum DatabricksJdbcUrlParams { "EnableTokenFederation", "Enable token federation for authentication", "1"), ENABLE_STREAMING_CHUNK_PROVIDER( "EnableStreamingChunkProvider", - "Enable streaming chunk provider for result fetching (experimental)", - "0"), + "Enable streaming chunk provider for result fetching", + "1"), LINK_PREFETCH_WINDOW( "LinkPrefetchWindow", "Number of chunk links to prefetch ahead of consumption. " diff --git a/src/test/java/com/databricks/jdbc/api/impl/arrow/ArrowStreamResultTest.java b/src/test/java/com/databricks/jdbc/api/impl/arrow/ArrowStreamResultTest.java index 6e32861fec..215af92879 100644 --- a/src/test/java/com/databricks/jdbc/api/impl/arrow/ArrowStreamResultTest.java +++ b/src/test/java/com/databricks/jdbc/api/impl/arrow/ArrowStreamResultTest.java @@ -478,15 +478,14 @@ public void testNullComplexTypeWithComplexDatatypeSupportDisabled() throws Excep @Test public void testStreamingChunkProviderEnabledForSeaResult() throws Exception { - // Enable StreamingChunkProvider via connection property + // StreamingChunkProvider is enabled by default Properties props = new Properties(); - props.setProperty("EnableStreamingChunkProvider", "1"); IDatabricksConnectionContext connectionContext = DatabricksConnectionContextFactory.create(JDBC_URL, props); assertTrue( connectionContext.isStreamingChunkProviderEnabled(), - "StreamingChunkProvider should be enabled via property"); + "StreamingChunkProvider should be enabled by default"); DatabricksSession localSession = new DatabricksSession(connectionContext, mockedSdkClient); @@ -518,14 +517,15 @@ public void testStreamingChunkProviderEnabledForSeaResult() throws Exception { @Test public void testStreamingChunkProviderDisabledUsesRemoteChunkProvider() throws Exception { - // Default properties - StreamingChunkProvider disabled + // Explicitly disable StreamingChunkProvider to use RemoteChunkProvider Properties props = new Properties(); + props.setProperty("EnableStreamingChunkProvider", "0"); IDatabricksConnectionContext connectionContext = DatabricksConnectionContextFactory.create(JDBC_URL, props); assertFalse( connectionContext.isStreamingChunkProviderEnabled(), - "StreamingChunkProvider should be disabled by default"); + "StreamingChunkProvider should be disabled when explicitly set to 0"); DatabricksSession localSession = new DatabricksSession(connectionContext, mockedSdkClient);