apache / apache/arrow-java

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

Abierto
#1,040 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Type: enhancement
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.