apache / apache/arrow-java

[Java] ArrowRecordBatch Body Length Computation Only Accounts for Last Buffer

Abierto
#188 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Type: bug
Lenguaje dominante
Java
Estrellas
94
Forks
152
Merge medio
3 d 16 h
PR fusionados (30 d)
11

Descripción

### Describe the bug, including details regarding any error messages, version, and platform.

Hi Arrow Community,

I believe `ArrowRecordBatch::computeBodyLength` has an implementation bug. It does the following

```
for (int i = 0; i < buffers.size(); i++) {
ArrowBuf buffer = buffers.get(i);
ArrowBuffer layout = buffersLayout.get(i);
size = layout.getOffset() + buffer.readableBytes();

// round up size to the next multiple of 8
size = DataSizeRoundingUtil.roundUpTo8Multiple(size);
}
return size;
```

Since `size` is being assigned and not incremented at first - does this mean computeBodyLength only accounts for the last buffer ?

### Component(s)

Java

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza en ArrowRecordBatch::computeBodyLength e inspecciona cómo contribuyen los diseños de los buffers y los bytes legibles al valor devuelto. Reproduce el cálculo con varios buffers y, después, comprueba el código Java circundante o las pruebas para determinar la semántica esperada de la longitud del cuerpo. Se considera terminado cuando el cálculo tiene en cuenta todos los buffers y conserva el redondeo requerido a 8 bytes.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
data-engineering
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.