A work around patch:
diff --git a/src/mds/mds_tipc_fctrl_portid.cc b/src/mds/mds_tipc_fctrl_portid.cc
index a9fa7d3..9b79fd3 100644
--- a/src/mds/mds_tipc_fctrl_portid.cc
+++ b/src/mds/mds_tipc_fctrl_portid.cc
@@ -378,7 +378,8 @@ void TipcPortId::ReceiveChunkAck(uint16_t fseq, uint16_t
chksize) {
txprob_cnt_, (uint8_t)state_);
}
// update sender sequence window
- if (sndwnd_.acked_ < Seq16(fseq) && Seq16(fseq) < sndwnd_.send_) {
+ if (sndwnd_.acked_ < Seq16(fseq) &&
+ (Seq16(fseq) - sndwnd_.acked_ == chksize)) {
m_MDS_LOG_DBG("FCTRL: [me] <-- [node:%x, ref:%u], "
"RcvChkAck[fseq:%u, chunk:%u], "
"sndwnd[acked:%u, send:%u, nacked:%" PRIu64 "], "
---
** [tickets:#3100] mds: Sending burst of message cause the window size out of
range**
**Status:** assigned
**Milestone:** 5.19.10
**Created:** Wed Oct 16, 2019 03:27 AM UTC by Minh Hon Chau
**Last Updated:** Wed Oct 16, 2019 03:37 AM UTC
**Owner:** Minh Hon Chau
According to RFC1982: "Addition of a value outside the range [0 ..
(2^(SERIAL_BITS - 1) - 1)] is undefined."
mds uses 16 bits for mds flow control, thus the maximum allowed range of window
size is 2^15 - 1 = 32767.
The 'mdstest 27 8' has randomly hit this limitation with the counter errors
that is detected in mds
<139>1 2019-10-15T16:01:33.167022+02:00 SC-1 mdstest 3312 mds.log [meta
sequenceId="84483"] FCTRL: [me] <-- [node:1001001, ref:2784751213],
RcvChkAck[fseq:31067, chunk:3], sndwnd[acked:31064, send:63850,
nacked:1901634], queue[size:32785], Error[msg disordered]
63850 - 31064 = 32786 > 32767
63850 - 31067 = 32783 > 32767
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets