eerhardt edited a comment on pull request #8694:
URL: https://github.com/apache/arrow/pull/8694#issuecomment-731202315


   UPDATE: I resolved the below issue with this answer: 
https://stackoverflow.com/a/58053460/3680432
   
   @Ulimo - how much of this is expected to work end-to-end? I've been trying 
to use it against an example server I found in the repo: 
https://github.com/apache/arrow/blob/master/python/examples/flight/server.py.
   
   However, I am not able to successfully call anything against the server. 
Here is my test program:
   
   ```C#
           static async Task Main(string[] args)
           {
               GrpcChannel channel = 
GrpcChannel.ForAddress("http://localhost:5005";);
               FlightClient flightClient = new FlightClient(channel);
   
               var actions = flightClient.ListActions();
               while (await actions.MoveNext(default))
               {
                   Console.WriteLine(actions.Current);
               }
   
               System.Console.WriteLine("Done");
           }
   ```
   
   And I get this exception:
   
   ```
   Unhandled exception. Grpc.Core.RpcException: Status(StatusCode="Internal", 
Detail="Error starting gRPC call. HttpRequestException: An error occurred while 
sending the request. IOException: The response ended prematurely.", 
DebugException="System.Net.Http.HttpRequestException: An error occurred while 
sending the request.
    ---> System.IO.IOException: The response ended prematurely.
      at System.Net.Http.HttpConnection.FillAsync()
      at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean 
foldedHeadersAllowed)
      at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage 
request, CancellationToken cancellationToken)
      --- End of inner exception stack trace ---
      at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage 
request, CancellationToken cancellationToken)
      at 
System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection 
connection, HttpRequestMessage request, Boolean doRequestAuth, 
CancellationToken cancellationToken)
      at 
System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage 
request, Boolean doRequestAuth, CancellationToken cancellationToken)
      at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, 
CancellationToken cancellationToken)
      at Grpc.Net.Client.Internal.GrpcCall`2.RunCall(HttpRequestMessage 
request, Nullable`1 timeout)")
      at 
Grpc.Net.Client.Internal.HttpContentClientStreamReader`2.MoveNextCore(CancellationToken
 cancellationToken)
      at Apache.Arrow.Flight.StreamReader`2.MoveNext(CancellationToken 
cancellationToken) in 
/Users/eerhardt/git/arrow/csharp/src/Apache.Arrow.Flight/StreamReader.cs:line 46
      at ArrowFlightTest.Program.Main(String[] args) in 
/Users/eerhardt/DotNetTest/ArrowFlightTest/Program.cs:line 17
      at ArrowFlightTest.Program.<Main>(String[] args)
   ```
   
   One part that confuses me is the example server says the address is 
`grpc+tcp://localhost:5005`, but the .NET gRPC client throws with that address 
saying only `http` and `https` schemes are supported. So that's why I used 
`http://localhost:5005`.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to