[Java] FieldVector getFieldBuffers API should not set reader/writer indices
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 11
説明
Per discussion .
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](https://issues.apache.org/jira/browse/ARROW-7539) / @tianchen92
#### PRs and other links:
- [GitHub Pull Request apache/arrow#6156](https://github.com/apache/arrow/pull/6156)
**Note**: *This issue was originally created as [ARROW-7539](https://issues.apache.org/jira/browse/ARROW-7539). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
コントリビューションガイド
調査の方向性
VectorUnloaderから始め、ArrowRecordBatchインスタンスの作成時におけるgetFieldBuffersとgetBuffersの使用方法を比較します。issueにリンクされているFieldVector APIの議論を読み、そのうえで、getFieldBuffersが読み取り/書き込みインデックスを変更せずに基盤となるデータを提供する一方、レコードバッチのシリアライズではgetBuffersが使用されることを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- data
- issue の種類
- リファクタリング
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 25/100