Alexander created ARROW-10939:
---------------------------------

             Summary: [C#][FlightRPC] incompatible with java client for empty 
record batches
                 Key: ARROW-10939
                 URL: https://issues.apache.org/jira/browse/ARROW-10939
             Project: Apache Arrow
          Issue Type: Bug
          Components: C#, FlightRPC
            Reporter: Alexander


An error has been found when one sends an empty record batch from C# server and 
tries to read it with the java client.

>From investigation the java client requires the protobuf tags to be sent in 
>the message even though it is empty. Java code can be seen here:

[https://github.com/apache/arrow/blob/master/java/flight/flight-core/src/main/java/org/apache/arrow/flight/ArrowMessage.java]

Normal functionality of gRPC is to exclude the entire tag if an object is 
empty, example code from generated csharp:

if (DataBody.Length != 0) {
 output.WriteRawTag(194, 62);
 output.WriteBytes(DataBody);
 }

To fix this so the csharp version is compatible with the java client requires a 
non empty flight data body must be sent or at least the tag of the body.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to