Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Fix Java client time column access throwing ArrayIndexOutOfBoundsException for non-long typed getters

Abierto Apto para principiantes
#17,407 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
java
Área
databases

Línea de trabajo

Comienza en IoTDBRpcDataSet.java e inspecciona los seis métodos getter ByTsBlockColumnIndex afectados junto con getLongByTsBlockColumnIndex y getStringByTsBlockColumnIndex. Verifica la ruta de la columna de tiempo del modelo de árbol y, después, ejecuta las pruebas relevantes del cliente Java si están disponibles; se considera terminado cuando todos los getters que no son long enumerados informan de una StatementExecutionException clara en lugar de acceder a la columna -1.

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

Descripción

Search before asking
  • I searched in the issues and found nothing similar.
Version

Master

Describe the bug and provide the minimal reproduce step

In IoTDBRpcDataSet.java, several ByTsBlockColumnIndex getter methods do not handle the tsBlockColumnIndex < 0 case (time pseudo-column in tree model). Only getLongByTsBlockColumnIndex and getStringByTsBlockColumnIndex correctly handle this case.

When tree model is used, column index 1 maps to tsBlockColumnIndex = -1 (time column). Accessing it through typed getters other than getLong or getString causes ArrayIndexOutOfBoundsException from TsBlock.getColumn(-1).

Affected methods:

  • getBooleanByTsBlockColumnIndex
  • getIntByTsBlockColumnIndex
  • getFloatByTsBlockColumnIndex
  • getDoubleByTsBlockColumnIndex
  • getBinaryByTsBlockColumnIndex
  • getObjectByTsBlockColumnIndex

This is the Java equivalent of the C++ client bug fixed in #17400.

What did you expect to see?

A clear StatementExecutionException with message like "Cannot read boolean from time column" instead of an opaque ArrayIndexOutOfBoundsException.

What did you see instead?

ArrayIndexOutOfBoundsException with index -1.

Anything else?

No response

Are you willing to submit a PR?
  • I'm willing to submit a PR!
Lenguaje dominante
Java
Estrellas
6.4k
Forks
1.2k
Merge medio
1 d 8 h
PR fusionados (30 d)
129

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/iotdb

Todos los issues de apache/iotdb

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.