From the format specification "Arrays having a 0 null count may choose to not allocate the null bitmap. Implementations may choose to always allocate one anyway as a matter of convenience, but this should be noted when memory is being shared."
When the null count is 0 and the validity buffer has length 0, then in Java for now the simplest thing will be to allocate a new validity buffer with all 1's. See the corresponding C++ logic where a 0-length buffer is being written when the null count is 0: https://github.com/apache/arrow/blob/master/cpp/src/arrow/ipc/adapter.cc#L83
Reporter: Wes McKinney / @wesm
Assignee: Julien Le Dem / @julienledem
Related issues:
PRs and other links:
Note: This issue was originally created as ARROW-398. Please see the migration documentation for further details.