You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ch...@apache.org on 2018/10/02 14:46:55 UTC
qpid-dispatch git commit: DISPATCH-1136: Don't drop presettled
message at head of list
Repository: qpid-dispatch
Updated Branches:
refs/heads/master 4031dddee -> 430efa077
DISPATCH-1136: Don't drop presettled message at head of list
This message may have had bytes go over the wire already and dropping
it now may corrupt the link data stream.
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/430efa07
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/430efa07
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/430efa07
Branch: refs/heads/master
Commit: 430efa0777c87289f5b59a83d0d36cab7647adac
Parents: 4031ddd
Author: Chuck Rolke <cr...@redhat.com>
Authored: Tue Oct 2 10:43:54 2018 -0400
Committer: Chuck Rolke <cr...@redhat.com>
Committed: Tue Oct 2 10:43:54 2018 -0400
----------------------------------------------------------------------
src/router_core/forwarder.c | 10 ++++++++++
tests/system_tests_one_router.py | 4 ++--
2 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/430efa07/src/router_core/forwarder.c
----------------------------------------------------------------------
diff --git a/src/router_core/forwarder.c b/src/router_core/forwarder.c
index c5e86f6..80f9b07 100644
--- a/src/router_core/forwarder.c
+++ b/src/router_core/forwarder.c
@@ -150,6 +150,16 @@ qdr_delivery_t *qdr_forward_new_delivery_CT(qdr_core_t *core, qdr_delivery_t *in
static void qdr_forward_drop_presettled_CT_LH(qdr_core_t *core, qdr_link_t *link)
{
qdr_delivery_t *dlv = DEQ_HEAD(link->undelivered);
+
+ if (!dlv)
+ return;
+ //
+ // Remove leading delivery from consideration.
+ // Parts of this message may have been transmitted already and dropping
+ // it may corrupt outbound data.
+ //
+ dlv = DEQ_NEXT(dlv);
+
qdr_delivery_t *next;
while (dlv) {
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/430efa07/tests/system_tests_one_router.py
----------------------------------------------------------------------
diff --git a/tests/system_tests_one_router.py b/tests/system_tests_one_router.py
index 94ccd36..dd7cd31 100644
--- a/tests/system_tests_one_router.py
+++ b/tests/system_tests_one_router.py
@@ -2797,8 +2797,8 @@ class PresettledOverflowTest(MessagingHandler):
for result in out.results:
if result[5] == 'out' and 'balanced.PresettledOverflow' in result[6]:
- if result[16] != 250:
- self.error = "Expected 250 dropped presettled deliveries but got " + str(result[16])
+ if result[16] != 249:
+ self.error = "Expected 249 dropped presettled deliveries but got " + str(result[16])
self.conn.close()
self.timer.cancel()
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org