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)