[
https://issues.jboss.org/browse/JGRP-1980?page=com.atlassian.jira.plugin....
]
Bela Ban commented on JGRP-1980:
--------------------------------
[~sannegrinovero] This is interesting: {{decrementIfEnoughCredits()}} is called when
*sending* a message, and it is executed on a {{Credit}} object in the {{sent}} table.
Method {{decrementAndGet()}} is called when a message is *received* on is executed on a
{{Credit}} object in the {{received}} table, so the 2 {{Credit}} objects should be
different, thus no contention!
Which test did you run to come up with this? I'd like to reproduce this...
Improve throughput under contention for FlowControl.Credit
----------------------------------------------------------
Key: JGRP-1980
URL:
https://issues.jboss.org/browse/JGRP-1980
Project: JGroups
Issue Type: Enhancement
Affects Versions: 3.6.6
Reporter: Sanne Grinovero
Assignee: Bela Ban
Fix For: 3.6.7
The methods {{org.jgroups.protocols.FlowControl.Credit.decrementIfEnoughCredits(long,
long)}} and {{org.jgroups.protocols.FlowControl.Credit.decrementAndGet(long)}} are
contending the locks on class synchronization when stress testing JGroups.
Wondering if we can think of polishing the implementation, although it looks like
challenging.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)