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

Jonathan Valliere updated DIRMINA-1147:
---------------------------------------
    Description: 
*THIS IS A MAJOR ISSUE; I've seen it dozens of times today occurring during an 
event write and the concurrent send/write from another thread.*

Write interest is not concurrent and full of issues relating to the 
synchronization between the backlog queue and the atomic flag write interest.  
It is possible to check for a queue to be not full, and add to the queue 
whereas the queue is emptied and write interest is disabled before the 
additional item is added to the queue.

What happens is 2-3 atomic operations occur and cannot/do not check to see 
whether the state changed between the time of assertion and subsequent action.

The scheduledFlush queue also suffers from the same concurrency problem.  
Events may be added to the queue after the scheduledFlush operation has removed 
it from the scheduledFlush queue and after queue is empited causing items to be 
added to the backlog but not trigger the scheduledFlush queue or interest.

  was:
*THIS IS A MAJOR ISSUE; I've seen it dozens of times today occurring during an 
event write and the send/write from another thread.*

Write interest is not concurrent and full of issues relating to the 
synchronization between the backlog queue and the atomic flag write interest.  
It is possible to check for a queue to be not full, and add to the queue 
whereas the queue is emptied and write interest is disabled before the 
additional item is added to the queue.

What happens is 2-3 atomic operations occur and cannot/do not check to see 
whether the state changed between the time of assertion and subsequent action.

The scheduledFlush queue also suffers from the same concurrency problem.  
Events may be added to the queue after the scheduledFlush operation has removed 
it from the scheduledFlush queue and after queue is empited causing items to be 
added to the backlog but not trigger the scheduledFlush queue or interest.


> Concurrency problem on write interest
> -------------------------------------
>
>                 Key: DIRMINA-1147
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1147
>             Project: MINA
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 2.1.4
>         Environment: AdoptJDK 11
>            Reporter: Jonathan Valliere
>            Assignee: Jonathan Valliere
>            Priority: Critical
>             Fix For: 2.2.0
>
>
> *THIS IS A MAJOR ISSUE; I've seen it dozens of times today occurring during 
> an event write and the concurrent send/write from another thread.*
> Write interest is not concurrent and full of issues relating to the 
> synchronization between the backlog queue and the atomic flag write interest. 
>  It is possible to check for a queue to be not full, and add to the queue 
> whereas the queue is emptied and write interest is disabled before the 
> additional item is added to the queue.
> What happens is 2-3 atomic operations occur and cannot/do not check to see 
> whether the state changed between the time of assertion and subsequent action.
> The scheduledFlush queue also suffers from the same concurrency problem.  
> Events may be added to the queue after the scheduledFlush operation has 
> removed it from the scheduledFlush queue and after queue is empited causing 
> items to be added to the backlog but not trigger the scheduledFlush queue or 
> interest.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to