Re: [jgroups-dev] message passing up is broken in NAKACK

Bela Ban <[email protected]> Sat, 18 May 2013 11:30:52 +0200
Newsgroups gmane.comp.java.javagroups.devel
Message-ID <[email protected]>
Can you reproduce this ? Also
- use 3.3.x, I don't support 2.12.x
- use NAKACK2


If you can reproduce this with NAKACK on 3.3, I'd be interested in fixing it

On 5/14/13 4:53 AM, hyliu wrote:
> Hi,
> I have two nodes(node1 and node2), after run a while, node1 can't get the
> message send from node2, but node2 can get message from node1.
>
> after some debug, I find the message actually arrived node1, but when
> passing through NAKACK protocol, the message event doesn't passing up
> anymore. more detail is in line 823, msgs is null, and thread return back.
>
> List<Message> msgs=win.removeMany(processing, remove_msgs,
> max_msg_batch_size);
>
>
> below is my guess, not sure if I correct, if not, just ignore it please.
> NAKACK is protocol to assure message received in sequence, this phenomen
> seems caused by a previous message is lost for some reason. so the
> afterwards messages need hold until that previous message been processed.
> if that is the case, then:
> 1. how to know which previous message is lost
> 2. it seems there is a retransmit mechanism 600, 1200, 2400, 4800, not sure
> why so many times retry still can't get this message, any way to print
> retransmit log
> 3. if add more timeout, it will retry more times. (600, 1200, 2400, 4800,
> 9600, 19200, ...)
> 4. any way to ignore previous lost message after wait a period, let it not
> break afterwards message processing.
>
> if my guess is completely wrong, please shine some light on how to let
> afterwards message can be processing.
>
> thanks a lot!
> -hyliu.
>
> --------------------
> I'm using jgroups 2.12.1.final. below is my configuration:
>
> <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-2.12.xsd">
>      <UDP
>           mcast_addr="228.10.10.123"
>           mcast_port="${jgroups.udp.mcast_port:45588}"
>           log_discard_msgs="false"
>           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_bundling="true"
>           enable_diagnostics="true"
>           thread_naming_pattern="cl"
>
>           timer_type="new"
>           timer.min_threads="4"
>           timer.max_threads="10"
>           timer.keep_alive_time="3000"
>           timer.queue_max_size="500"
>
>           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 timeout="20000"
>            num_initial_members="3"
>            break_on_coord_rsp="true"
>            max_rank="0"
>            ergonomics="false" />
>      <MERGE2 max_interval="30000"
>              min_interval="10000"/>
>      <FD_SOCK/>
>      <FD timeout="10000" max_tries="5" shun="true"/>
>      <FD_ALL/>
>      <VERIFY_SUSPECT timeout="15000"  />
>      <BARRIER/>
>      <pbcast.NAKACK use_stats_for_retransmission="false"
>                     exponential_backoff="500"
>                     use_mcast_xmit="true"
>                     discard_delivered_msgs="false"/>
>      <UNICAST timeout="300,600,1200"/>
>      <VIEW_SYNC avg_send_interval="60000" />
>      <pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
>                     max_bytes="4M"/>
>      <pbcast.GMS print_local_addr="true" join_timeout="30000"
>                  view_bundling="true"/>
>      <UFC max_credits="2M"
>           min_threshold="0.4"/>
>      <MFC max_credits="2M"
>           min_threshold="0.4"/>
>      <FRAG2 frag_size="60K"  />
>
>      <pbcast.STATE_TRANSFER  />
>
> </config>
>
>
>
>
>
>
>
> --
> View this message in context: http://jgroups.1086181.n5.nabble.com/message-passing-up-is-broken-in-NAKACK-tp9608.html
> Sent from the JGroups - Dev mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> AlienVault Unified Security Management (USM) platform delivers complete
> security visibility with the essential security capabilities. Easily and
> efficiently configure, manage, and operate all of your security controls
> from a single console and one unified framework. Download a free trial.
> http://p.sf.net/sfu/alienvault_d2d
> _______________________________________________
> Javagroups-development mailing list
>
>

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

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
Javagroups-development mailing list