From 4c942901747de4e089a9844c73d1a77b4b9f2bb3 Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Wed, 4 Mar 2026 01:15:20 -0800 Subject: [PATCH 1/2] fix(csharp): align CloudFetchConfiguration memory default to 200MB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CloudFetchMemoryBufferManager defaults to 200MB when no value is provided, but CloudFetchConfiguration defaulted to 100MB. The factory always passes config.MemoryBufferSizeMB to the manager, so the effective default was 100MB — inconsistent with the manager's own constant. Aligns both to 200MB so the defaults agree regardless of how CloudFetchMemoryBufferManager is instantiated. Co-Authored-By: Claude Sonnet 4.6 --- csharp/src/Reader/CloudFetch/CloudFetchConfiguration.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/csharp/src/Reader/CloudFetch/CloudFetchConfiguration.cs b/csharp/src/Reader/CloudFetch/CloudFetchConfiguration.cs index 3590d5fc..5de62864 100644 --- a/csharp/src/Reader/CloudFetch/CloudFetchConfiguration.cs +++ b/csharp/src/Reader/CloudFetch/CloudFetchConfiguration.cs @@ -31,7 +31,7 @@ internal sealed class CloudFetchConfiguration // Default values internal const int DefaultParallelDownloads = 3; internal const int DefaultPrefetchCount = 2; - internal const int DefaultMemoryBufferSizeMB = 100; + internal const int DefaultMemoryBufferSizeMB = 200; internal const int DefaultTimeoutMinutes = 5; internal const int DefaultMaxRetries = 3; internal const int DefaultRetryDelayMs = 500; From ccd638aea10c08684f0c8d96b3ee4f8fa34db645 Mon Sep 17 00:00:00 2001 From: Eric Wang Date: Wed, 4 Mar 2026 14:47:16 -0800 Subject: [PATCH 2/2] refactor(csharp): consolidate memory buffer default to CloudFetchConfiguration Remove duplicate DefaultMemoryBufferSizeMB constant from CloudFetchMemoryBufferManager and reference CloudFetchConfiguration.DefaultMemoryBufferSizeMB as the single source of truth. Also simplify constructor from nullable int? to int with default parameter. Co-Authored-By: Claude Sonnet 4.6 --- .../Reader/CloudFetch/CloudFetchMemoryBufferManager.cs | 8 +++----- .../CloudFetch/CloudFetchMemoryBufferManagerTests.cs | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/csharp/src/Reader/CloudFetch/CloudFetchMemoryBufferManager.cs b/csharp/src/Reader/CloudFetch/CloudFetchMemoryBufferManager.cs index c4e976d4..b6acf841 100644 --- a/csharp/src/Reader/CloudFetch/CloudFetchMemoryBufferManager.cs +++ b/csharp/src/Reader/CloudFetch/CloudFetchMemoryBufferManager.cs @@ -39,7 +39,6 @@ namespace AdbcDrivers.Databricks.Reader.CloudFetch /// internal sealed class CloudFetchMemoryBufferManager : ICloudFetchMemoryBufferManager { - private const int DefaultMemoryBufferSizeMB = 200; private readonly long _maxMemory; private long _usedMemory; private readonly SemaphoreSlim _memorySemaphore; @@ -48,16 +47,15 @@ internal sealed class CloudFetchMemoryBufferManager : ICloudFetchMemoryBufferMan /// Initializes a new instance of the class. /// /// The maximum memory allowed for buffering in megabytes. - public CloudFetchMemoryBufferManager(int? maxMemoryMB = null) + public CloudFetchMemoryBufferManager(int maxMemoryMB = CloudFetchConfiguration.DefaultMemoryBufferSizeMB) { - int memoryMB = maxMemoryMB ?? DefaultMemoryBufferSizeMB; - if (memoryMB <= 0) + if (maxMemoryMB <= 0) { throw new ArgumentOutOfRangeException(nameof(maxMemoryMB), "Memory buffer size must be positive."); } // Convert MB to bytes - _maxMemory = memoryMB * 1024L * 1024L; + _maxMemory = maxMemoryMB * 1024L * 1024L; _usedMemory = 0; _memorySemaphore = new SemaphoreSlim(1, 1); } diff --git a/csharp/test/Unit/Reader/CloudFetch/CloudFetchMemoryBufferManagerTests.cs b/csharp/test/Unit/Reader/CloudFetch/CloudFetchMemoryBufferManagerTests.cs index 45f22c07..5ea6f9e5 100644 --- a/csharp/test/Unit/Reader/CloudFetch/CloudFetchMemoryBufferManagerTests.cs +++ b/csharp/test/Unit/Reader/CloudFetch/CloudFetchMemoryBufferManagerTests.cs @@ -28,7 +28,7 @@ public class CloudFetchMemoryBufferManagerTests public void Constructor_DefaultMaxMemory_Is200MB() { var manager = new CloudFetchMemoryBufferManager(); - Assert.Equal(200 * 1024L * 1024L, manager.MaxMemory); + Assert.Equal(CloudFetchConfiguration.DefaultMemoryBufferSizeMB * 1024L * 1024L, manager.MaxMemory); Assert.Equal(0, manager.UsedMemory); }