[jboss-jira] [JBoss JIRA] (JGRP-1887) Remove the synchronization on JChannel.class in JChannel.init

Bela Ban (JIRA) issues at jboss.org
Mon Oct 6 06:14:12 EDT 2014


    [ https://issues.jboss.org/browse/JGRP-1887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13008737#comment-13008737 ] 

Bela Ban commented on JGRP-1887:
--------------------------------

h4. Solution

* Remove the synchronization around {{JChannel.init()}
* In {{ProtocolStack.initProtocolStack()}}, move calling {{init()}} inside the lock scope if we have a shared transport. This way, the first channel creation will synchronize around creation of the shared transport, but subsequent creations won't. Also, subsequent creations will find a fully initialized shared transport.

> Remove the synchronization on JChannel.class in JChannel.init
> -------------------------------------------------------------
>
>                 Key: JGRP-1887
>                 URL: https://issues.jboss.org/browse/JGRP-1887
>             Project: JGroups
>          Issue Type: Task
>    Affects Versions: 3.5.1
>            Reporter: Dan Berindei
>            Assignee: Bela Ban
>             Fix For: 3.5.2, 3.6
>
>
> {{JChannel.init(ProtocolCtackConfigurator)}} has a {{synchronized(Channel.class)}} block that doesn't seem necessary, as JChannel instances do not normally share resources.
> This can cause serious delays in the Infinispan test suite, because we run many tests in parallel, each creating its own cluster. In some tests we also have a timeout for the test to create the JChannel (among other things), and these delays can lead to random failures (e.g. ISPN-4802).



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the jboss-jira mailing list