[ 
https://issues.apache.org/jira/browse/ARROW-4213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16738694#comment-16738694
 ] 

Jacques Nadeau commented on ARROW-4213:
---------------------------------------

I'm not sure on DoGet. I can imagine situations where it should be unnecessary 
to re-request a ticket but possibly a schema has changed since the ticket was 
generated. I can be convinced of not including but it also seems nice to 
include. In part this is nice because the node that got the flight info message 
may not be the same one that ultimately consumes the ticket. In those cases, 
being able to give someone a ticket and that alone is enough to reconstruct a 
stream of arrow records seems desirable. Basically making a flight stream self 
describing. I think of it as similar to a Parquet or an Avro file where a 
directory may all be the same but it is still nice to have each file describe 
itself.

With regards to the IPC message, I mostly disagree with [~wesmckinn]'s 
perspective. The Flatbuffers definition of schema is a public serialization 
from the format perspective it seems weird to add an arbitrary envelope. Some 
of the codebases may chosen to hide that structure but I think those are code 
construction/style choices as opposed to something that the format 
instructs/defines.

> [Flight] C++ and Java implementations are incompatible
> ------------------------------------------------------
>
>                 Key: ARROW-4213
>                 URL: https://issues.apache.org/jira/browse/ARROW-4213
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: FlightRPC
>            Reporter: David Li
>            Priority: Major
>              Labels: flight
>             Fix For: 0.13.0
>
>
> A C++ client cannot request streams from a Java service, nor can it decode 
> the schema from GetFlightInfo.
> Schema: in Java, GetFlightInfo encodes the schema directly via flatbuffers. 
> C++ expects it to be encoded as an IPC message. This isn't a problem in Java 
> as a method exists to decode such schemas, but in C++ the API for reading 
> such a schema isn't really exposed. I'm willing to submit a patch for this, 
> but it's not clear to me which scheme is preferred.
> Streams: in Java, DoGet starts with an ArrowMessage containing a schema. C++ 
> does not expect this and segfaults when it tries to decode the message as a 
> record batch. Based on the presentations I've seen, I think C++ is in the 
> wrong here; I have a patch to fix this that I could clean up and submit.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to