[
https://issues.jboss.org/browse/JGRP-1630?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1630:
--------------------------------
Is this a real-life scenario ?
Best practice suggests you start your threads *after* the channel is connected and stop
them before disconnecting the channel.
I'd rather have the RequestCorrelator pass a message up if local_addr is null than
discard it.
RpcDispatcher : exclusion list failure
--------------------------------------
Key: JGRP-1630
URL:
https://issues.jboss.org/browse/JGRP-1630
Project: JGroups
Issue Type: Bug
Affects Versions: 3.3
Reporter: Karim AMMOUS
Assignee: Bela Ban
Fix For: 3.4
Attachments: RpcDispTest.java
The usage of exclusion list during RPC call is not thread safe. In some conditions,
requests are executed on excluded members.
Please find enclosed a program that reproduce the reported problem.
h5. Program scenario:
First statements create a permanent opened channel with an RpcDispacher.
The remaining represents a loop that creates a channel with an RpcDispatcher, makes an
RPC call where exclusion list contains the caller and finally disconnects the channel.
The program stops when the request is handled on the caller. Few iterations are needed to
reach it
h5. Observation:
At the called side, the exclusion list is checked by the RequestCorrelator ([instruction
here|https://github.com/belaban/JGroups/blob/3.3/src/org/jgroups/blocks/R...]).
The condition that supposed ignore request fails because RequestCorrelator has a null
local_addr
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira