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

hyliu <[email protected]> Mon, 13 May 2013 19:53:15 -0700 (PDT)
Newsgroups gmane.comp.java.javagroups.devel
Message-ID <[email protected]>
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