Per discussion apache/arrow#6133 (comment).
The fact that we have reader/writer settings in getFieldBuffers is wrong. To clarify, getFieldBuffers is distinct from getBuffers. The former should be for getting access to underlying data for higher-performance algorithms. The latter is for sending the data over the wire. Seems we've mixed up use of both.
Currently in VectorUnloader, we used getFieldBuffers to create ArrowRecordBatch that’s why we keep writer/reader indices in getFieldBuffers, we should use getBuffers instead.
Reporter: Ji Liu / @tianchen92
PRs and other links:
Note: This issue was originally created as ARROW-7539. Please see the migration documentation for further details.