Use default chunk size as 4 MB than than 16Mb in arrow's rolling policy
- Vorherrschende Sprache
- Java
- Sterne
- 94
- Forks
- 152
- Ø Merge
- 3 T. 16 Std.
- Gemergte PRs (30 T.)
- 11
Beschreibung
### 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.
Beitragsleitfaden
Rechercherichtung
Beginne damit, die Implementierung der Rolling Policy zu finden, die getRoundedSize und den Standardwert von chunkSize enthält, und lies anschließend, wie CommonUtil.nextPowerOfTwo verwendet wird. Vergleiche die Policy mit dem im Issue beschriebenen 4-MB-Standardwert von Netty. Als erledigt gilt die Änderung, wenn der Standardwert 4 MB verwendet und das bestehende Verhalten für Request-Größen durch die relevanten Tests abgedeckt ist, sofern vorhanden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- performance
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100