You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/11/20 16:04:24 UTC

[GitHub] [arrow] eerhardt edited a comment on pull request #8694: ARROW-10542: [C#][Flight] Add beginning on flight code for net core

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:
users@infra.apache.org