Use default chunk size as 4 MB than than 16Mb in arrow's rolling policy
- Lenguaje dominante
- Java
- Estrellas
- 94
- Forks
- 152
- Merge medio
- 3 d 16 h
- PR fusionados (30 d)
- 11
Descripción
### 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.
Guía de contribución
Línea de trabajo
Comienza localizando la implementación de rolling policy que contiene getRoundedSize y el valor predeterminado de chunkSize; después, lee cómo se usa CommonUtil.nextPowerOfTwo. Compara la policy con el valor predeterminado de 4 MB de Netty descrito en el issue. Se considera terminado cuando el valor predeterminado usa 4 MB y el comportamiento existente para los tamaños de las solicitudes está cubierto por las pruebas relevantes, si las hay.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- performance
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100