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