Re: [jgroups-users] No group merge after offline channel creation

Questions/problems related to using JGroups <[email protected]> Tue, 4 Apr 2017 11:29:41 +0200
Newsgroups gmane.comp.java.javagroups.general
Message-ID <[email protected]>

On 04/04/17 10:57, Questions/problems related to using JGroups wrote:
> Hi Bela,
>
>
> thanks for your reply. Yes it is older JGroups version. It is latest
> compatible version for Java 6 the 3.5.1.
>
> You are right, the node was started with pulled ethernet cable and yes
> the bind address is then 127.0.0.1.

You could create the JChannel, but before connecting it, set the 
bind_addr in UDP (or TCP) manually, e.g.
JChannel ch;
InetAddress bind_addr=...;
TP tp=ch.getProtocolStack().getTransport();
tp.setBindAddress(bind_addr);


> So if you wrote that JGroups excludes NICs which are not up, then the
> behaviour is fine. I guess in our application we have to provide a
> solution in the user process, so that he can ensure the NIC is up.

The above would help in that the node would join the cluster when the 
NIC is UP.

> Thanks a lot.
>
>
> Best regards,
>
> Maximilian Gerhard
>
>
> Am 31.03.2017 um 11:41 schrieb Questions/problems related to using JGroups:
>> What version is this? I see you have some pretty old protocols (e.g. FC,
>> UNICAST, NAKACK) in your config...
>>
>> What do you mean by "when a node starts up without a network
>> connection"? Did you pull the ethernet cable before starting the node?
>>
>> You need to observe what bind_addr this node is started on; this should
>> be printed when the node is started. It should be the *same network* as
>> the other node, e.g. 192.168.
>>
>> If the bind address is something like 127.0.0.1, then things won't work.
>> JGroups checks if a NIC is down and excludes NICs which are not UP, so
>> an incorrect bind address might be chosen.
>>
>> On 31/03/17 09:33, Questions/problems related to using JGroups wrote:
>>> Hello,
>>>
>>> I am using jgroups in my application for message based data
>>> synchronization. As long as the channel is created when there is a
>>> network connection everything is fine, even when after that a network
>>> interrupt with later reconnect appears (merge is done then).
>>>
>>> But when a node starts up without a network connection it creates the
>>> channel with himself as only member. When that node is reconnected to
>>> the network I expected a group merge with the other online nodes.
>>> Unfortunately this does not happen. Both cluster are operating side by
>>> side with 2 different states now.
>>>
>>> Is there something I can add to my protocol stack or another solution to
>>> handle that somehow?
>>>
>>> My current udp.xml:
>>>> <config xmlns="urn:org:jgroups"
>>>>          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>          xsi:schemaLocation="urn:org:jgroups
>>>> http://www.jgroups.org/schema/jgroups.xsd">
>>>>      <UDP
>>>>           mcast_port="${jgroups.udp.mcast_port:45588}"
>>>>           tos="8"
>>>>           ucast_recv_buf_size="20M"
>>>>           ucast_send_buf_size="640K"
>>>>           mcast_recv_buf_size="25M"
>>>>           mcast_send_buf_size="640K"
>>>>           loopback="true"
>>>>           discard_incompatible_packets="true"
>>>>           max_bundle_size="64K"
>>>>           max_bundle_timeout="30"
>>>>           ip_ttl="${jgroups.udp.ip_ttl:2}"
>>>>           enable_diagnostics="true"
>>>>           thread_naming_pattern="cl"
>>>>
>>>>           thread_pool.enabled="true"
>>>>           thread_pool.min_threads="2"
>>>>           thread_pool.max_threads="8"
>>>>           thread_pool.keep_alive_time="5000"
>>>>           thread_pool.queue_enabled="true"
>>>>           thread_pool.queue_max_size="10000"
>>>>           thread_pool.rejection_policy="discard"
>>>>
>>>>           oob_thread_pool.enabled="true"
>>>>           oob_thread_pool.min_threads="1"
>>>>           oob_thread_pool.max_threads="8"
>>>>           oob_thread_pool.keep_alive_time="5000"
>>>>           oob_thread_pool.queue_enabled="false"
>>>>           oob_thread_pool.queue_max_size="100"
>>>>           oob_thread_pool.rejection_policy="Run"/>
>>>>
>>>>      <PING />
>>>>      <MERGE3 max_interval="3000"
>>>>              min_interval="1500"
>>>>              check_interval="5000"/>
>>>>      <FD_SOCK/>
>>>>      <FD_ALL2 timeout="3000"
>>>>               interval="1000"
>>>>               timeout_check_interval="750"/>
>>>>      <VERIFY_SUSPECT timeout="1500"  />
>>>>      <BARRIER />
>>>>      <pbcast.NAKACK exponential_backoff="150"
>>>>                     use_mcast_xmit="true"
>>>>                     retransmit_timeout="300,600,1200"
>>>>                     discard_delivered_msgs="true"/>
>>>>      <UNICAST />
>>>>      <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
>>>>                     max_bytes="1000000"/>
>>>>      <pbcast.GMS print_local_addr="true" join_timeout="3000"
>>>>
>>>>                  view_bundling="true"/>
>>>>      <SEQUENCER />
>>>>      <FC max_credits="500000"
>>>>                      min_threshold="0.20"/>
>>>>      <FRAG2 frag_size="60K"  />
>>>>      <!--pbcast.STREAMING_STATE_TRANSFER /-->
>>>>      <pbcast.STATE_TRANSFER  />
>>>>      <!-- pbcast.FLUSH/-->
>>>> </config>
>>> Best regards,
>>>
>>> Maximilian Gerhard
>>>
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> javagroups-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>>>
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> javagroups-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot