apache / apache/arrow-java

Use default chunk size as 4 MB than than 16Mb in arrow's rolling policy

オープン
#1,040 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Type: enhancement
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。