Vector always reallocates validity buffer in the case of all-null or non-null <https://github.com/apache/arrow/blob/master/java/vector/src/main/java/org/apache/arrow/vector/BaseFixedWidthVector.java#L511> <https://github.com/apache/arrow/blob/master/java/vector/src/main/java/org/apache/arrow/vector/BitVectorHelper.java#L180> Ideally we should only allocate if the source was not provided **Reporter**: [Zhenyuan Zhao](https://issues.apache.org/jira/browse/ARROW-3222) / @zzhao0 <sub>**Note**: *This issue was originally created as [ARROW-3222](https://issues.apache.org/jira/browse/ARROW-3222). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*</sub>