Xiangdong Huang created IOTDB-407: ------------------------------------- Summary: NullPoint in ActiveTimeSeriesCounter Key: IOTDB-407 URL: https://issues.apache.org/jira/browse/IOTDB-407 Project: Apache IoTDB Issue Type: Bug Reporter: Xiangdong Huang
Hi, if you read the log in tests. You can find a null pointer exception. [https://travis-ci.org/apache/incubator-iotdb/jobs/633305973?utm_medium=notification&utm_source=github_status] What will happen if the activeTimeSeriesNumMap has no a given storage group and therefore we skip the method of `offer()`? 14:32:55.358 [IoTDB-MultiFileLogNodeManager-Force-Thread] DEBUG org.apache.iotdb.db.writelog.node.ExclusiveWriteLogNode - Log node root.sg1-1578321174624-101-0.tsfile ends sync. 14:32:55.358 [pool-9-IoTDB-JDBC-Client-thread-1] DEBUG org.apache.iotdb.db.engine.storagegroup.TsFileProcessor - storage group root.sg1 async flush a memtable when async close 14:32:55.374 [pool-9-IoTDB-JDBC-Client-thread-1] DEBUG org.apache.iotdb.db.writelog.node.ExclusiveWriteLogNode - Log node root.sg1-1578321174624-101-0.tsfile closed successfully 14:32:55.374 [pool-9-IoTDB-JDBC-Client-thread-1] INFO org.apache.iotdb.db.engine.flush.FlushManager - storage group root.sg1 begin to submit a flush thread, flushing memtable size: 1 14:32:55.374 [pool-9-IoTDB-JDBC-Client-thread-1] INFO org.apache.iotdb.db.engine.storagegroup.StorageGroupProcessor - close a sequence tsfile processor root.sg1 14:32:55.374 [pool-13-IoTDB-Flush-ServerServiceImpl-thread-1] INFO org.apache.iotdb.db.engine.storagegroup.TsFileProcessor - storage group root.sg1 starts to flush a memtable in a flush thread 14:32:55.374 [pool-13-IoTDB-Flush-ServerServiceImpl-thread-1] DEBUG org.apache.iotdb.db.engine.flush.MemTableFlushTask - flush task of Storage group root.sg1 memtable 106 is created 14:32:55.374 [pool-12-IoTDB-Flush-SubTask-ServerServiceImpl-thread-2] DEBUG org.apache.iotdb.db.engine.flush.MemTableFlushTask - Storage group root.sg1 memtable 106, start io. 14:32:55.374 [pool-13-IoTDB-Flush-ServerServiceImpl-thread-1] ERROR org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter - Storage group root.sg1 registers active time series root.sg1.d1.s3 failed java.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.engine.storagegroup.TsFileProcessor.flushOneMemTable(TsFileProcessor.java:448) at org.apache.iotdb.db.engine.flush.FlushManager$FlushThread.run(FlushManager.java:89) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) 14:32:55.374 [pool-13-IoTDB-Flush-ServerServiceImpl-thread-1] ERROR org.apache.iotdb.db.conf.adapter.ActiveTimeSeriesCounter - Update root.sg1 active ratio failed java.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.engine.storagegroup.TsFileProcessor.flushOneMemTable(TsFileProcessor.java:448) at org.apache.iotdb.db.engine.flush.FlushManager$FlushThread.run(FlushManager.java:89) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) -- This message was sent by Atlassian Jira (v8.3.4#803005)