Hey all,

While trying to finish up the Union integration test between Java & C++
https://github.com/apache/arrow/pull/7290 I came across a minor problem
that I hope I could get some clarification on.


I have the integration test for C++ -> Java passing but Java -> C++ is
giving me trouble. The check here:
https://github.com/apache/arrow/blob/master/cpp/src/arrow/array/validate.cc#L368
fails
as the Union buffers have no validity bitmap. Skipping this check for
Unions fixes the issue and integration tests pass.


I want to make sure that skipping the check is the correct path and I am
not super familiar with the c++ code. So:


1) Is skipping the above check the correct solution (I assume not otherwise
C++->C++ integrations wouldn't pass)

2) Is it more likely that java is not writing the correct IPC message

3) Is the IPC reader not initialising buffers correctly for Unions

4) Is this a problem with MetadataVersion? I notice that neither Java or
C++ care about MetadataVersion::V5 yet, nor do they have a whole lot of
logic to read IPC based on MetadataVersion.


I am keen to have full C++/Java compatibility out for v1.0.0 and I would be
grateful for any guidance from experts here.


Best,

Ryan

Reply via email to