]
Bela Ban resolved JGRP-1347.
----------------------------
Resolution: Done
Added synchronization around fetching the initial window. After that, messages can be
added concurrently
UNICAST/UNICAST2: message can get delivered multiple times
----------------------------------------------------------
Key: JGRP-1347
URL:
https://issues.jboss.org/browse/JGRP-1347
Project: JGroups
Issue Type: Bug
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 2.12.2, 3.0
In handleDataReceived(), when our connection is not the same as the conn_id of the
incoming message, we (1) remove the window and (2) create a new one and add it.
However, (1) and (2) are *not* synchronized: when multiple threads go through this code
concurrently, we could have a sequence 1-2-1, meaning the window is removed, a new one is
created, but then - because another thread got conn_id != our conn_id true, the window
will be removed again !
This means that a message #1 might get added to the new window and delivered to the app,
and then the same thing could happen again, because we re-create the window again !
SOLUTION: synchronization around: check for conn_id match, removal and creation of the
new window
--
This message is automatically generated by JIRA.
For more information on JIRA, see: