[ 
https://issues.apache.org/jira/browse/ASTERIXDB-2118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chen Luo resolved ASTERIXDB-2118.
---------------------------------
    Resolution: Fixed

> Newer 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