select timeseries failed: executeStatement failed. java.lang.IllegalArgumentException: Invalid input: 70
- 主要言語
- Java
- スター
- 6.4k
- フォーク
- 1.2k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 115
説明
**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**

コントリビューションガイド
調査の方向性
失敗するSQLクエリと調整後のSQLクエリを再現し、その後、スタックトレースにあるMetadataIndexNodeType.deserializeとMetadataIndexNode.deserializeFromから始めます。TsFileSequenceReaderを通じてメタデータの読み取りを追跡し、報告されたデータ範囲および時間範囲に対してクエリがIllegalArgumentExceptionを発生させなくなったことを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100