apache / apache/iotdb

session查询sql时报错

Open
#5,953 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.4k
Forks
1.2k
Avg merge
1d 23h
Merged PRs (30d)
115

Description

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)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the session query and comparing it with the working max_time query. Trace the failure from RawQueryDataSetWithoutValueFilter$ReadTask through ChunkCache and TsFileSequenceReader.readChunkHeader to TSEncoding.getTsEncoding. Done means identifying why encoding value 63 is read and confirming the session query no longer raises the invalid-parameter exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.