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

Alexey Goncharuk updated IGNITE-5816:
-------------------------------------
    Description: 
In current flushOrWait() code we acquire writtenBytes before we try to flush. 
If flush fails, we wait for written be equal to expWritten.
When a segment is being closed, this leads to one thread returning from 
flushOrWait early because written is updated, but expWritten does not match the 
last record position.

> Race in WAL segment leading to ClosedChannelException
> -----------------------------------------------------
>
>                 Key: IGNITE-5816
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5816
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.1
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>             Fix For: 2.2
>
>
> In current flushOrWait() code we acquire writtenBytes before we try to flush. 
> If flush fails, we wait for written be equal to expWritten.
> When a segment is being closed, this leads to one thread returning from 
> flushOrWait early because written is updated, but expWritten does not match 
> the last record position.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to