diff --git a/Client/src/Common/Properties.cs b/Client/src/Common/Properties.cs
index bf39ffa09..1d5af7ca2 100644
--- a/Client/src/Common/Properties.cs
+++ b/Client/src/Common/Properties.cs
@@ -383,6 +383,14 @@ public string ConnectionString
// ReSharper disable once AutoPropertyCanBeMadeGetOnly.Global
public TaskOptions TaskOptions { get; set; }
+ ///
+ /// Value in bytes above which streaming is used for data upload and download. 0 to always use streaming.
+ ///
+ // TODO: mark as [PublicApi] for setter ?
+ // ReSharper disable once MemberCanBePrivate.Global
+ // ReSharper disable once AutoPropertyCanBeMadeGetOnly.Global
+ public int StreamingThreshold { get; set; } = 0;
+
///
/// The target name of the endpoint when ssl validation is disabled. Automatic if not set.
///
diff --git a/Client/src/Common/Submitter/BaseClientSubmitter.cs b/Client/src/Common/Submitter/BaseClientSubmitter.cs
index eb24dff9a..cd060d21b 100644
--- a/Client/src/Common/Submitter/BaseClientSubmitter.cs
+++ b/Client/src/Common/Submitter/BaseClientSubmitter.cs
@@ -99,7 +99,7 @@ protected BaseClientSubmitter(Properties properties,
})
.WaitSync();
- configuration_ = ChannelPool.WithResultClient(Logger)
+ configuration_ = properties.StreamingThreshold > 0 ? properties.StreamingThreshold : ChannelPool.WithResultClient(Logger)
.ExecuteAsync(static client => client.GetServiceConfigurationAsync(new Empty()))
.WaitSync()
.DataChunkMaxSize;