Re: [jgroups-dev] message passing up is broken in NAKACK
hyliu <[email protected]> Sun, 19 May 2013 23:47:47 -0700 (PDT)
| Newsgroups | gmane.comp.java.javagroups.devel |
|---|---|
| Message-ID | <[email protected]> |
I think I already know the reason.
I have a retry logic in cast message, dummy code is like below, I need a
synch call here, i.e. hold untill all other node get this message.
RspList l = dispacher_.castMessage(..., msg, ...);
while (l.notAllRreceived()){
l = dispacher_.castMessage(..., msg, ...);
}
and I used same msg object.
in the first time cast message, for some reason, msg fail to get response
within timeout duration. then I retried, this time the seqno in msg get
updated in NAKACK.send method, (say from seqno1 to seqno2). while in
NakReceiverWindow.xmit_table, the seqno key doesn't get change (now
xmit_table contains two records, seqno1 -> msg, seqno2 -> msg, both msg are
same object, the seqno in NakAckHeader are seqno2). then on handleXmitReq,
xmit request ask for seqno1, and the msg seqno in xmit_table's NakAckHeader
is seqno2. so this msg send to another node become a unexpect msg.
so complex, it takes up me 3 days to dig out the reason. may be it need put
an item in doc, one message object should not be sent multiple times.
after change to use a new msg object on retry, this issue seems gone.
thanks!
-hyliu.
--
View this message in context: http://jgroups.1086181.n5.nabble.com/message-passing-up-is-broken-in-NAKACK-tp9608p9621.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