session查询sql时报错
- Ngôn ngữ chính
- Java
- Star
- 6.4k
- Fork
- 1.2k
- Merge trung bình
- 1 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 115
Mô tả
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)
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện truy vấn session và so sánh truy vấn đó với truy vấn max_time đang hoạt động. Theo dõi lỗi từ RawQueryDataSetWithoutValueFilter$ReadTask qua ChunkCache và TsFileSequenceReader.readChunkHeader đến TSEncoding.getTsEncoding. Được xem là hoàn tất khi xác định được lý do giá trị encoding 63 được đọc và xác nhận rằng truy vấn session không còn phát sinh ngoại lệ tham số không hợp lệ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- databases
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100