lidavidm commented on pull request #8962: URL: https://github.com/apache/arrow/pull/8962#issuecomment-748282913
> I made the same sort of fix in the spot you pointed out, to each of the 3 byte fields in `FlightData`. What do you think? Should be good once CI passes, thank you! > > Note I took a look at the Java side of this and the fix may not be so simple, since some code paths in Java expect there to be 0 buffers, and providing a default buffer breaks them; C++ may have the same issue. > > Yuck. Should I open a new Jira ticket to track the Java side or should this ticket cover the same problem in the Java and C++ implementations? I filed ARROW-10939 and am looking at it right now. I also cross-linked the three outstanding issues on Jira. > > > (Those paths are arguably also wrong, since Protobuf implementations can write the empty field...) > > Hm, isn't the C++ client currently writing the empty field? Or is it writing the field to `null`, rather than an empty list of bytes? Sorry, I was talking about the Java implementation - unilaterally filling in an empty buffer on deserialization when not provided there broke other code which assumed there would be _no_ buffer instead of an empty one. (So what I meant is that while the original code would be fine with any Protobuf implementation that doesn't write out empty fields, it would break with one that did write them out.) ---------------------------------------------------------------- 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: [email protected]
