FengQingxin created IOTDB-3732:
----------------------------------

             Summary: CLONE - "io task meets error" is not handled correctly
                 Key: IOTDB-3732
                 URL: https://issues.apache.org/jira/browse/IOTDB-3732
             Project: Apache IoTDB
          Issue Type: Bug
    Affects Versions: 0.13.0, 0.12.5
            Reporter: FengQingxin
            Assignee: Haonan Hou


When restarting IoTDB and flushing the wal, the io task meets error. 

It throw a RuntimeException, however, this exception is not catched by 
TsFileProcessor, TsFileProcessor still ends the file, which causes a corrupt 
tsfile.

 

2022-04-21 22:29:19,461 [pool-2-IoTDB-Flush-SubTask-2] ERROR 
o.a.i.d.e.f.MemTableFlushTask:297 - Storage group 2 memtable 
PrimitiveMemTable{planIndex=[0,0]}, io task meets error. 
java.io.IOException: Bytes written is inconsistent with the size of data: 57 != 
45
    at 
org.apache.iotdb.tsfile.write.chunk.ChunkWriterImpl.writeAllPagesOfChunkToTsFile(ChunkWriterImpl.java:459)
    at 
org.apache.iotdb.tsfile.write.chunk.ChunkWriterImpl.writeToFileWriter(ChunkWriterImpl.java:323)
    at 
org.apache.iotdb.db.engine.flush.MemTableFlushTask.lambda$new$0(MemTableFlushTask.java:290)
    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)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

 

2022-04-21 22:29:24,797 [Thread-4] INFO  o.a.i.d.e.f.MemTableFlushTask:150 - 
Storage group 2 memtable PrimitiveMemTable{planIndex=[0,0]} flushing a memtable 
has finished! Time consumption: 5448ms 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to