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)

Reply via email to