Jialin Qiao created IOTDB-3514:
----------------------------------

             Summary: Query meets BufferUnderflowException
                 Key: IOTDB-3514
                 URL: https://issues.apache.org/jira/browse/IOTDB-3514
             Project: Apache IoTDB
          Issue Type: Bug
    Affects Versions: 0.12.5
            Reporter: Jialin Qiao
         Attachments: 1652428226676-1162-1-0.zip

Failed to recover a TsFileResource, also failed to recover TsFileResource from 
TsFile.

 
{code:java}
2022-06-16 08:09:14,374 [pool-126-IoTDB-Query-5] INFO  
o.a.i.d.e.StorageEngine:582 - construct a processor instance, the storage group 
is root.CNNP.FQ.03, Thread is 227 
2022-06-16 08:09:14,374 [pool-57-IoTDB-RPC-Client-15] WARN  
o.a.i.d.s.TSServiceImpl:2031 - [INTERNAL_SERVER_ERROR] Exception occurred while 
executing executeQueryStatement "select last FQ_03_3RCV231MV_AVALUE from 
root.CNNP.FQ.*".  
java.util.concurrent.ExecutionException: java.nio.BufferUnderflowException
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at 
org.apache.iotdb.db.service.TSServiceImpl.submitQueryTask(TSServiceImpl.java:848)
    at 
org.apache.iotdb.db.service.TSServiceImpl.executeQueryStatement(TSServiceImpl.java:780)
    at 
org.apache.iotdb.service.rpc.thrift.TSIService$Processor$executeQueryStatement.getResult(TSIService.java:2423)
    at 
org.apache.iotdb.service.rpc.thrift.TSIService$Processor$executeQueryStatement.getResult(TSIService.java:2403)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38)
    at 
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.nio.BufferUnderflowException: null
    at java.nio.Buffer.nextGetIndex(Buffer.java:532)
    at java.nio.HeapByteBuffer.getLong(HeapByteBuffer.java:417)
    at 
org.apache.iotdb.tsfile.utils.ReadWriteIOUtils.readLong(ReadWriteIOUtils.java:545)
    at 
org.apache.iotdb.tsfile.file.metadata.MetadataIndexNode.deserializeFrom(MetadataIndexNode.java:105)
    at 
org.apache.iotdb.tsfile.file.metadata.TsFileMetadata.deserializeFrom(TsFileMetadata.java:55)
    at 
org.apache.iotdb.tsfile.read.TsFileSequenceReader.readFileMetadata(TsFileSequenceReader.java:261)
    at 
org.apache.iotdb.tsfile.read.TsFileSequenceReader.getAllTimeseriesMetadata(TsFileSequenceReader.java:723)
    at 
org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recoverResourceFromReader(TsFileRecoverPerformer.java:182)
    at 
org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recoverResourceFromFile(TsFileRecoverPerformer.java:174)
    at 
org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recover(TsFileRecoverPerformer.java:104)
    at 
org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recoverTsFiles(StorageGroupProcessor.java:696)
    at 
org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recover(StorageGroupProcessor.java:470)
    at 
org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.<init>(StorageGroupProcessor.java:403)
    at 
org.apache.iotdb.db.engine.StorageEngine.buildNewStorageGroupProcessor(StorageEngine.java:591)
    at 
org.apache.iotdb.db.engine.storagegroup.virtualSg.VirtualStorageGroupManager.getProcessor(VirtualStorageGroupManager.java:140)
    at 
org.apache.iotdb.db.engine.StorageEngine.getStorageGroupProcessorByPath(StorageEngine.java:567)
    at 
org.apache.iotdb.db.engine.StorageEngine.getProcessor(StorageEngine.java:510)
    at 
org.apache.iotdb.db.engine.StorageEngine.mergeLock(StorageEngine.java:1048)
    at 
org.apache.iotdb.db.query.executor.LastQueryExecutor.calculateLastPairForSeriesLocally(LastQueryExecutor.java:179)
    at 
org.apache.iotdb.db.query.executor.LastQueryExecutor.calculateLastPairForSeries(LastQueryExecutor.java:146)
    at 
org.apache.iotdb.db.query.executor.LastQueryExecutor.execute(LastQueryExecutor.java:103)
    at 
org.apache.iotdb.db.query.executor.QueryRouter.lastQuery(QueryRouter.java:264)
    at 
org.apache.iotdb.db.qp.executor.PlanExecutor.processDataQuery(PlanExecutor.java:544)
    at 
org.apache.iotdb.db.qp.executor.PlanExecutor.processQuery(PlanExecutor.java:228)
    at 
org.apache.iotdb.db.service.TSServiceImpl.createQueryDataSet(TSServiceImpl.java:1148)
    at 
org.apache.iotdb.db.service.TSServiceImpl.access$600(TSServiceImpl.java:157)
    at 
org.apache.iotdb.db.service.TSServiceImpl$QueryTask.call(TSServiceImpl.java:284)
    at 
org.apache.iotdb.db.service.TSServiceImpl$QueryTask.call(TSServiceImpl.java:222)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    ... 3 common frames omitted
2022-06-16 08:09:14,376 [pool-126-IoTDB-Query-5] INFO  
o.a.i.d.e.s.StorageGroupProcessor:439 - recover Storage Group  
root.CNNP.FQ.03-0 
2022-06-16 08:09:14,744 [pool-126-IoTDB-Query-5] WARN  
o.a.i.d.w.r.TsFileRecoverPerformer:170 - Cannot deserialize TsFileResource 
/data/iotdb/apache-iotdb-0.12.3-all-bin/sbin/./../data/data/unsequence/root.CNNP.FQ.03/0/614/1652428226676-1162-1-0.tsfile,
 construct it using TsFileSequenceReader 
java.lang.IndexOutOfBoundsException: Invalid ordinal
    at 
org.apache.iotdb.db.engine.storagegroup.timeindex.TimeIndexLevel.valueOf(TimeIndexLevel.java:48)
    at 
org.apache.iotdb.db.engine.storagegroup.TsFileResource.deserialize(TsFileResource.java:257)
    at 
org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recoverResourceFromFile(TsFileRecoverPerformer.java:168)
    at 
org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recover(TsFileRecoverPerformer.java:104)
    at 
org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recoverTsFiles(StorageGroupProcessor.java:696)
    at 
org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recover(StorageGroupProcessor.java:470)
    at 
org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.<init>(StorageGroupProcessor.java:403)
    at 
org.apache.iotdb.db.engine.StorageEngine.buildNewStorageGroupProcessor(StorageEngine.java:591)
    at 
org.apache.iotdb.db.engine.storagegroup.virtualSg.VirtualStorageGroupManager.getProcessor(VirtualStorageGroupManager.java:140)
    at 
org.apache.iotdb.db.engine.StorageEngine.getStorageGroupProcessorByPath(StorageEngine.java:567)
    at 
org.apache.iotdb.db.engine.StorageEngine.getProcessor(StorageEngine.java:510)
    at 
org.apache.iotdb.db.engine.StorageEngine.mergeLock(StorageEngine.java:1048)
    at 
org.apache.iotdb.db.query.executor.LastQueryExecutor.calculateLastPairForSeriesLocally(LastQueryExecutor.java:179)
    at 
org.apache.iotdb.db.query.executor.LastQueryExecutor.calculateLastPairForSeries(LastQueryExecutor.java:146)
    at 
org.apache.iotdb.db.query.executor.LastQueryExecutor.execute(LastQueryExecutor.java:103)
    at 
org.apache.iotdb.db.query.executor.QueryRouter.lastQuery(QueryRouter.java:264)
    at 
org.apache.iotdb.db.qp.executor.PlanExecutor.processDataQuery(PlanExecutor.java:544)
    at 
org.apache.iotdb.db.qp.executor.PlanExecutor.processQuery(PlanExecutor.java:228)
    at 
org.apache.iotdb.db.service.TSServiceImpl.createQueryDataSet(TSServiceImpl.java:1148)
    at 
org.apache.iotdb.db.service.TSServiceImpl.access$600(TSServiceImpl.java:157)
    at 
org.apache.iotdb.db.service.TSServiceImpl$QueryTask.call(TSServiceImpl.java:284)
    at 
org.apache.iotdb.db.service.TSServiceImpl$QueryTask.call(TSServiceImpl.java:222)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748) {code}
 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to