3 Replies Latest reply on Mar 25, 2008 12:37 PM by Brian Stansberry


    Brian Stansberry Master

      I noticed that GroupMember does not make these calls on its channels:

      controlChannel.setOpt(Channel.AUTO_RECONNECT, Boolean.TRUE);
      dataChannel.setOpt(Channel.AUTO_RECONNECT, Boolean.TRUE);

      This means if these channels detect they've been shunned (kicked out of the group) they won't automatically disconnect() themselves and then connect() themselves to rejoin the group. Is this intentional?

      One reason I ask is http://jira.jboss.com/jira/browse/JGRP-651 changed the default behavior of a channel to auto_reconnect=true from false. For 2.4.2 and 2.6.2. So if you didn't want channels to autoreconnect, they now will. In that case, better to set channel.setOpt(Channel.AUTO_RECONNECT, Boolean.FALSE); Either way, probably better to explicitly set the option rather than relying on a default.

      That same JIRA inadvertently changed the default for auto_getstate to true as well for 2.4.2 (not for 2.6.2). Having that true will cause the channel to not only reconnect, but also attempt a state transfer. Don't think you want that for your channel that doesn' use STATE_TRANSFER. Don't know about the other one. JIRA to revert the changed 2.4.2 default is http://jira.jboss.com/jira/browse/JGRP-720.

      To explicitly set auto_getstate you call channel.setOpt(Channel.AUTO_GET_STATE, Boolean.XXX); Also a good idea to do this explicitly.

      Because of these issues I'm recommending that a requested upgrade to JGroups 2.4.2 not be made for EAP 4.3.0.GA_CP01.