[ 
https://issues.apache.org/jira/browse/IOTDB-470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jialin Qiao closed IOTDB-470.
-----------------------------
    Fix Version/s: 0.10.0-SNAPSHOT
       Resolution: Fixed

> Startup failed when there are 0 byte size TsFiles 
> --------------------------------------------------
>
>                 Key: IOTDB-470
>                 URL: https://issues.apache.org/jira/browse/IOTDB-470
>             Project: Apache IoTDB
>          Issue Type: Bug
>          Components: Others
>    Affects Versions: 0.10.0-SNAPSHOT
>            Reporter: Xiangdong Huang
>            Assignee: EJTTianyu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 0.10.0-SNAPSHOT
>
>         Attachments: image-2020-02-10-19-54-46-410.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Hi, 
> A user are using 0.10-SNAPSHOT and after a restart of IoTDB, the instance 
> failed because of:
>  
>  
> {code:java}
> // code placeholder
> java.lang.IllegalArgumentException: Negative position at 
> sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:712) at 
> org.apache.iotdb.tsfile.read.reader.DefaultTsFileInput.read(DefaultTsFileInput.java:60)
>  at 
> org.apache.iotdb.tsfile.read.TsFileSequenceReader.readTailMagic(TsFileSequenceReader.java:203)
>  at 
> org.apache.iotdb.tsfile.read.TsFileSequenceReader.loadMetadataSize(TsFileSequenceReader.java:168)
>  at 
> org.apache.iotdb.tsfile.read.TsFileSequenceReader.<init>(TsFileSequenceReader.java:103)
>  at 
> org.apache.iotdb.tsfile.read.TsFileSequenceReader.<init>(TsFileSequenceReader.java:85)
>  at 
> org.apache.iotdb.db.utils.UpgradeUtils.isNeedUpgrade(UpgradeUtils.java:62) at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.countUpgradeFiles(StorageGroupProcessor.java:1269)
>  at 
> org.apache.iotdb.db.engine.StorageEngine.countUpgradeFiles(StorageEngine.java:351)
>  at 
> org.apache.iotdb.db.service.UpgradeSevice.countUpgradeFiles(UpgradeSevice.java:107)
>  at org.apache.iotdb.db.service.UpgradeSevice.start(UpgradeSevice.java:60) at 
> org.apache.iotdb.db.service.RegisterManager.register(RegisterManager.java:48) 
> at org.apache.iotdb.db.service.IoTDB.setUp(IoTDB.java:96) at 
> org.apache.iotdb.db.service.IoTDB.active(IoTDB.java:69) at 
> org.apache.iotdb.db.service.IoTDB.main(IoTDB.java:55)
> {code}
>  
>  
>  # As IllegalArgumentException is not caught, the file name is not printed, 
> which is not friendly for letting users find which file is broken.
>  # After I modify the codes, I find the "broken" file is a zero byte file. 
> e.g.:
> !image-2020-02-10-19-54-46-410.png!
>  
> So, try to catch all exceptions to print the broken file name firstly, and 
> skip and report incorrect files when checking these files (And I think this 
> kind of files, i.e., 0-byte files, can be deleted)
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to