apache / apache/iotdb

session查询sql时报错

Aperta
#5,953 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
6.4k
Fork
1.2k
Merge medio
1g 23h
PR unite (30g)
115

Descrizione

session查询数据时出现解析sql非法参数异常, 但执行max_time没问题

ERROR o.a.i.d.q.d.RawQueryDataSetWithoutValueFilter$ReadTask:148 - Something gets wrong:
java.lang.IllegalArgumentException: Invalid input: 63
at org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding.getTsEncoding(TSEncoding.java:69)
at org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding.deserialize(TSEncoding.java:45)
at org.apache.iotdb.tsfile.utils.ReadWriteIOUtils.readEncoding(ReadWriteIOUtils.java:809)
at org.apache.iotdb.tsfile.file.header.ChunkHeader.deserializeFrom(ChunkHeader.java:170)
at org.apache.iotdb.tsfile.read.TsFileSequenceReader.readChunkHeader(TsFileSequenceReader.java:889)
at org.apache.iotdb.tsfile.read.TsFileSequenceReader.readMemChunk(TsFileSequenceReader.java:911)
at org.apache.iotdb.db.engine.cache.ChunkCache.lambda$new$1(ChunkCache.java:80)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:141)
at com.github.benmanes.caffeine.cache.LocalCache.lambda$statsAware$0(LocalCache.java:139)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2405)
at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2403)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2386)
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:54)
at org.apache.iotdb.db.engine.cache.ChunkCache.get(ChunkCache.java:109)
at org.apache.iotdb.db.query.reader.chunk.DiskChunkLoader.loadChunk(DiskChunkLoader.java:40)
at org.apache.iotdb.db.utils.FileLoaderUtils.loadPageReaderList(FileLoaderUtils.java:172)
at org.apache.iotdb.db.query.reader.series.SeriesReader.unpackOneChunkMetaData(SeriesReader.java:525)
at org.apache.iotdb.db.query.reader.series.SeriesReader.unpackAllOverlappedChunkMetadataToPageReaders(SeriesReader.java:514)
at org.apache.iotdb.db.query.reader.series.SeriesReader.hasNextOverlappedPage(SeriesReader.java:691)
at org.apache.iotdb.db.query.reader.series.SeriesReader.isExistOverlappedPage(SeriesReader.java:463)
at org.apache.iotdb.db.query.reader.series.SeriesReader.hasNextPage(SeriesReader.java:441)
at org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader.readPageData(SeriesRawDataBatchReader.java:182)
at org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader.readChunkData(SeriesRawDataBatchReader.java:174)
at org.apache.iotdb.db.query.reader.series.SeriesRawDataBatchReader.hasNextBatch(SeriesRawDataBatchReader.java:130)
at org.apache.iotdb.db.query.dataset.RawQueryDataSetWithoutValueFilter$ReadTask.runMayThrow(RawQueryDataSetWithoutValueFilter.java:89)
at org.apache.iotdb.db.concurrent.WrappedRunnable.run(WrappedRunnable.java:32)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo la query di sessione e confrontandola con la query max_time funzionante. Segui il fallimento da RawQueryDataSetWithoutValueFilter$ReadTask, passando per ChunkCache e TsFileSequenceReader.readChunkHeader, fino a TSEncoding.getTsEncoding. Il lavoro è completato quando è stato identificato il motivo per cui viene letto il valore di encoding 63 e confermato che la query di sessione non genera più l’eccezione di parametro non valido.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
databases
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.