Use default chunk size as 4 MB than than 16Mb in arrow's rolling policy
- 主要言語
- Java
- スター
- 94
- フォーク
- 152
- 平均マージ
- 3日 16時間
- マージ済み PR(30日)
- 11
説明
### Describe the enhancement requested
Apache Arrow currently calculates chunk sizes based on the assumption that Netty's PooledByteBufAllocatorL uses a 16MB page size. If size is blow 16MB, will use nextPowerOfTwo of requestSize.
```java
public long getRoundedSize(long requestSize) {
return requestSize < chunkSize ? CommonUtil.nextPowerOfTwo(requestSize) : requestSize;
}
```
However, Netty's default maximum buffer size has been reduced from 16MB to 4MB in recent versions (see https://github.com/netty/netty/pull/12108). This mismatch leads to memory inefficiency in scenarios where chunk sizes fall between 4MB and 16MB.
コントリビューションガイド
調査の方向性
まず、getRoundedSize と chunkSize のデフォルト値を含む rolling policy の実装を見つけ、次に CommonUtil.nextPowerOfTwo がどのように使われているかを確認します。その policy を、issue に記載されている Netty の 4 MB のデフォルト値と比較します。デフォルト値が 4 MB を使用し、リクエストサイズに対する既存の動作が、該当するテストが存在する場合はそのテストでカバーされていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- performance
- issue の種類
- 機能追加
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100