Houliang Qi created IOTDB-1147:
----------------------------------
Summary: Concurrent bug error in FlushManager may cause
NoSuchElementException error
Key: IOTDB-1147
URL: https://issues.apache.org/jira/browse/IOTDB-1147
Project: Apache IoTDB
Issue Type: Bug
Components: Core/Engine
Reporter: Houliang Qi
Fix For: 0.12.0
Attachments: image-2021-02-04-10-57-43-980.png,
image-2021-02-04-10-57-53-288.png
When we flush one tsfile, we put the TsFileProcessor to the FlushManager, and
use another thread pool to do the flush task of the memtables in this
TsFileProcessor.
Howerver, the following codes is not thread safe, because when the first code
_tsFileProcessorQueue.isEmpty()_ is called, it may be return false, but
instantly it maybe become empty due to consumed by the flush thread pool, so
when called
t_sFileProcessorQueue.getFirst().getStorageGroupName()_ it may cause
NoSuchElementException error.
!image-2021-02-04-10-52-19-911.png!
The error are as follows:
!image-2021-02-04-10-56-04-613.png!
--
This message was sent by Atlassian Jira
(v8.3.4#803005)