apache / apache/iotdb

select timeseries failed: executeStatement failed. java.lang.IllegalArgumentException: Invalid input: 70

Abierto
#7,313 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
6.4k
Forks
1.2k
Merge medio
1 d 23 h
PR fusionados (30 d)
115

Descripción

**Describe the bug**

1. the following error occurred when executing SQL:
'select * from root.sdlink.tp.lsy00143010.IFrzEpIn where time > 2022-09-14T05:39:11 ORDER BY time ASC limit 1',
the error is 'Msg: 500: [INTERNAL_SERVER_ERROR(500)] Exception occurred: "select max(num_v) from root.sdlink.tp.lsy00143010.IFrzEpIn". executeStatement failed. java.lang.IllegalArgumentException: Invalid input: 70'.

2. the error disappears after the query time is adjusted, SQL is 'select * from root.sdlink.tp.lsy00143010.IFrzEpIn where time >2022-09-14T16:39:11 ORDER BY time ASC limit 1';

**IoTDB Server logs**
2022-09-14 08:48:24,578 [pool-21-IoTDB-Sub_RawQuery-6] ERROR o.a.i.d.q.d.RawQueryDataSetWithoutValueFilter$ReadTask:154 - Something gets wrong:
java.lang.IllegalArgumentException: Invalid input: 72
at org.apache.iotdb.tsfile.file.metadata.enums.MetadataIndexNodeType.deserialize(MetadataIndexNodeType.java:70)
at org.apache.iotdb.tsfile.file.metadata.MetadataIndexNode.deserializeFrom(MetadataIndexNode.java:107)
at org.apache.iotdb.tsfile.read.TsFileSequenceReader.getMetadataAndEndOffset(TsFileSequenceReader.java:984)
at org.apache.iotdb.tsfile.read.TsFileSequenceReader.getLeafMetadataIndexPair(TsFileSequenceReader.java:475)
at org.apache.iotdb.tsfile.read.TsFileSequenceReader.readTimeseriesMetadata(TsFileSequenceReader.java:447)
at org.apache.iotdb.db.engine.cache.TimeSeriesMetadataCache.get(TimeSeriesMetadataCache.java:196)
at org.apache.iotdb.db.utils.FileLoaderUtils.loadTimeSeriesMetadata(FileLoaderUtils.java:107)
at org.apache.iotdb.db.query.reader.series.SeriesReader.loadTimeSeriesMetadata(SeriesReader.java:1123)
at org.apache.iotdb.db.query.reader.series.SeriesReader.unpackSeqTsFileResource(SeriesReader.java:1089)
at org.apache.iotdb.db.query.reader.series.SeriesReader.tryToUnpackAllOverlappedFilesToTimeSeriesMetadata(SeriesReader.java:1012)
at org.apache.iotdb.db.query.reader.series.SeriesReader.hasNextFile(SeriesReader.java:260)
at org.apache.iotdb.db.query.reader.series.SeriesReader.hasNextChunk(SeriesReader.java:333)
at org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader.readChunkData(SeriesRawDataBatchReader.java:170)
at org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader.hasNextBatch(SeriesRawDataBatchReader.java:118)
at org.apache.iotdb.db.query.dataset.RawQueryDataSetWithoutValueFilter$ReadTask.runMayThrow(RawQueryDataSetWithoutValueFilter.java:96)
at org.apache.iotdb.db.concurrent.WrappedRunnable.run(WrappedRunnable.java:32)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

**IoTDB Version**
0.13.2

**Screenshots**

![f5e53d780b58b35b29f61a51396398c](https://user-images.githubusercontent.com/28997868/190109568-9cdd8375-9745-4dfc-8804-de49af894fc8.jpg)

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Reproduce las consultas SQL que fallan y las ajustadas, y comienza después con MetadataIndexNodeType.deserialize y MetadataIndexNode.deserializeFrom en el stack trace. Sigue la lectura de metadatos a través de TsFileSequenceReader y confirma que la consulta ya no produce IllegalArgumentException para los rangos de datos y tiempo indicados.

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

Evaluación

Stack tecnológico
java
Área
databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
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.