balicat commented on code in PR #285:
URL: https://github.com/apache/arrow-dotnet/pull/285#discussion_r3004307138
##########
src/Apache.Arrow.Flight/Client/FlightClient.cs:
##########
@@ -27,15 +28,28 @@ public class FlightClient
internal static readonly Empty EmptyInstance = new Empty();
private readonly FlightService.FlightServiceClient _client;
+ private readonly ICompressionCodecFactory _compressionCodecFactory;
public FlightClient(ChannelBase grpcChannel)
+ : this(grpcChannel, null)
+ {
+ }
+
+ public FlightClient(ChannelBase grpcChannel, ICompressionCodecFactory
compressionCodecFactory)
{
_client = new FlightService.FlightServiceClient(grpcChannel);
+ _compressionCodecFactory = compressionCodecFactory;
}
public FlightClient(CallInvoker callInvoker)
+ : this(callInvoker, null)
+ {
+ }
+
+ public FlightClient(CallInvoker callInvoker, ICompressionCodecFactory
compressionCodecFactory)
Review Comment:
Updated with tests and fixes:
- 4 new tests added (55 total, all passing):
- TestGetWithArrowContext — verify Get works with ArrowContext
- TestGetWithNullArrowContext — backward compat with null context
- TestPutAndGetWithArrowContext — put+get round-trip with context
- TestFlightClientDefaultConstructorStillWorks — original constructor
unchanged
- Fixed pre-existing netstandard2.1 build error in CookieExtensions.cs
(collection expression syntax ambiguous with Split overloads)
I've been testing this end-to-end with our production Arrow Flight server
(EnergyScope — energy market data). With lz4 compression enabled, we see a 3.5x
improvement on large queries (1.45M rows: 45s → 13s)
through our C# Excel add-in.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]