[
https://issues.apache.org/jira/browse/ARROW-10939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander updated ARROW-10939:
------------------------------
Description:
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]
Line 285-294
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.
was:
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.
> [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
> Priority: Major
>
> 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]
> Line 285-294
> 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)