[ https://issues.apache.org/jira/browse/IOTDB-1147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Houliang Qi reassigned IOTDB-1147: ---------------------------------- Assignee: Houliang Qi > 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 > Assignee: Houliang Qi > Priority: Major > 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)