You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Chen Luo (JIRA)" <ji...@apache.org> on 2017/09/29 21:50:00 UTC
[jira] [Created] (ASTERIXDB-2118) Older Memory Component gets
flushed to disk first
Chen Luo created ASTERIXDB-2118:
-----------------------------------
Summary: Older Memory Component gets flushed to disk first
Key: ASTERIXDB-2118
URL: https://issues.apache.org/jira/browse/ASTERIXDB-2118
Project: Apache AsterixDB
Issue Type: Bug
Components: STO - Storage
Reporter: Chen Luo
Assignee: Chen Luo
Currently we have two memory components, say M1 and M2, as double buffering. The AysnchronousScheduler needs to guarantee M1 and M2 are flushed in a proper order. However, the current scheduler is buggy. Consider the following event sequences.
1. M1 is full
2. schedule flush M1
3. activate M2
4. M2 is full
5. schedule flush M2 (cannot be scheduled since M1 is flushing)
6. A merge operation is finished
At this moment, line 59 of AysnchronousScheduler is executed, and it schedules M2.
Thus, M2 could be finished earlier before M1, resulting in wrong order of flushed disk components on disk.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)