Hi,

I have found that it’s a hidden bug in method `redoLogs()` of class 
`TsFileRecoverPerformer`.

I have pull a request to fix that. The pr link is 
https://github.com/apache/incubator-iotdb/pull/642 
<https://github.com/apache/incubator-iotdb/pull/642>

Best Regards,
—————————————————
Tianan Li
School of Software, Tsinghua University

李天安
清华大学 软件学院


> 2019年12月10日 上午11:41,Jialin Qiao (Jira) <[email protected]> 写道:
> 
> Jialin Qiao created IOTDB-357:
> ---------------------------------
> 
>             Summary: NullPointerException in ActiveTimeSeriesCounter
>                 Key: IOTDB-357
>                 URL: https://issues.apache.org/jira/browse/IOTDB-357
>             Project: Apache IoTDB
>          Issue Type: Bug
>            Reporter: Jialin Qiao
> 
> 
> Start a empty IoTDB, execute 3 sql:
> {code:java}
> SET STORAGE GROUP TO root.turbine;
> CREATE TIMESERIES root.turbine.d2.s0 WITH DATATYPE=DOUBLE, ENCODING=GORILLA;
> insert into root.turbine.d2(timestamp,s0) values(2,25.3);{code}
> Kill the server and restart, then you will see:
> {code:java}
> 11:37:45.157 [pool-1-IoTDB-Recovery-Thread-Pool-thread-1] ERROR 
> org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter - Storage group 
> root.turbine- registers active time series root.turbine.d2.s0 
> failed11:37:45.157 [pool-1-IoTDB-Recovery-Thread-Pool-thread-1] ERROR 
> org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter - Storage group 
> root.turbine- registers active time series root.turbine.d2.s0 
> failedjava.lang.NullPointerException: null at 
> org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter.offer(ActiveTimeSeriesCounter.java:65)
>  at 
> org.apache.iotdb.db.engine.flush.MemTableFlushTask.syncFlushMemTable(MemTableFlushTask.java:87)
>  at 
> org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.redoLogs(TsFileRecoverPerformer.java:213)
>  at 
> org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recover(TsFileRecoverPerformer.java:143)
>  at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recoverSeqFiles(StorageGroupProcessor.java:294)
>  at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recover(StorageGroupProcessor.java:223)
>  at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.<init>(StorageGroupProcessor.java:210)
>  at 
> org.apache.iotdb.db.engine.StorageEngine.lambda$new$0(StorageEngine.java:119) 
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745)11:37:45.158 
> [pool-1-IoTDB-Recovery-Thread-Pool-thread-1] ERROR 
> org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter - Update 
> root.turbine- active ratio failedjava.lang.NullPointerException: null at 
> org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter.updateActiveRatio(ActiveTimeSeriesCounter.java:79)
>  at 
> org.apache.iotdb.db.engine.flush.MemTableFlushTask.syncFlushMemTable(MemTableFlushTask.java:91)
>  at 
> org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.redoLogs(TsFileRecoverPerformer.java:213)
>  at 
> org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer.recover(TsFileRecoverPerformer.java:143)
>  at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recoverSeqFiles(StorageGroupProcessor.java:294)
>  at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.recover(StorageGroupProcessor.java:223)
>  at 
> org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor.<init>(StorageGroupProcessor.java:210)
>  at 
> org.apache.iotdb.db.engine.StorageEngine.lambda$new$0(StorageEngine.java:119) 
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  at java.lang.Thread.run(Thread.java:745)
> {code}
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
>  
> 
> 
> 
> --
> This message was sent by Atlassian Jira
> (v8.3.4#803005)

Reply via email to