This is an automated email from the ASF dual-hosted git repository.

gmurthy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git


The following commit(s) were added to refs/heads/main by this push:
     new 364f1de  DISPATCH-2028: Lessen the number and size of messages. Also 
set helloMaxAgeSeconds to 10. This closes #1208
364f1de is described below

commit 364f1de8e60074b46a2bee27366cdd25afa304dc
Author: Ganesh Murthy <[email protected]>
AuthorDate: Thu May 6 16:01:32 2021 -0400

    DISPATCH-2028: Lessen the number and size of messages. Also set 
helloMaxAgeSeconds to 10. This closes #1208
---
 tests/system_tests_edge_router.py | 91 ++++++++++++++++++++++++---------------
 1 file changed, 56 insertions(+), 35 deletions(-)

diff --git a/tests/system_tests_edge_router.py 
b/tests/system_tests_edge_router.py
index 5a452e0..a608498 100644
--- a/tests/system_tests_edge_router.py
+++ b/tests/system_tests_edge_router.py
@@ -253,7 +253,7 @@ class RouterTest(TestCase):
 
         def router(name, mode, connection, extra=None):
             config = [
-                ('router', {'mode': mode, 'id': name}),
+                ('router', {'mode': mode, 'id': name, "helloMaxAgeSeconds": 
'10'}),
                 ('listener', {'port': cls.tester.get_port(), 
'stripAnnotations': 'no'}),
                 ('listener', {'port': cls.tester.get_port(), 
'stripAnnotations': 'no', 'multiTenant': 'yes'}),
                 ('listener', {'port': cls.tester.get_port(), 
'stripAnnotations': 'no', 'role': 'route-container'}),
@@ -848,7 +848,7 @@ class RouterTest(TestCase):
                                       self.routers[3].addresses[0],
                                       self.routers[2].addresses[0],
                                       self.routers[0].addresses[0],
-                                      "test_38")
+                                      "test_38", check_remote=False, 
subscriber_count=2)
 
         test.run()
         self.assertIsNone(test.error)
@@ -863,7 +863,7 @@ class RouterTest(TestCase):
                                       self.routers[5].addresses[0],
                                       self.routers[2].addresses[0],
                                       self.routers[0].addresses[0],
-                                      "test_39", check_remote=True)
+                                      "test_39", check_remote=True, 
subscriber_count=1)
 
         test.run()
         self.assertIsNone(test.error)
@@ -1114,7 +1114,7 @@ class RouterTest(TestCase):
 
     # 1 Sender and 3 receivers all on the same edge
 
-    def test_59_anon_sender__multicast_mobile_address_same_edge(self):
+    def test_59_anon_sender_multicast_mobile_address_same_edge(self):
         if self.skip['test_59'] :
             self.skipTest("Test skipped during development.")
 
@@ -1592,7 +1592,7 @@ class LinkRouteProxyTest(TestCase):
 
         def router(name, mode, extra):
             config = [
-                ('router', {'mode': mode, 'id': name}),
+                ('router', {'mode': mode, 'id': name, "helloMaxAgeSeconds": 
'10'}),
                 ('listener', {'role': 'normal', 'port': cls.tester.get_port()})
             ]
 
@@ -2147,19 +2147,19 @@ class MobileAddressAnonymousTest(MessagingHandler):
         self.address = address
         self.ready = False
         self.custom_timer = None
-        self.num_msgs = 300
+        self.num_msgs = 100
         self.extra_msgs = 50
         self.n_accepted = 0
         self.n_modified = 0
         self.n_released = 0
         self.error = None
-        self.max_attempts = 3
+        self.max_attempts = 10
         self.num_attempts = 0
         self.test_started = False
         self.large_msg = large_msg
         if self.large_msg:
-            self.body = "0123456789101112131415" * 10000
-            self.properties = {'big field': 'X' * 32000}
+            self.body = "0123456789101112131415" * 5000
+            self.properties = {'big field': 'X' * 3200}
 
     def on_start(self, event):
         self.timer = event.reactor.schedule(TIMEOUT, TestTimeout(self))
@@ -2183,7 +2183,7 @@ class MobileAddressAnonymousTest(MessagingHandler):
         self.sender_conn.close()
 
     def on_sendable(self, event):
-        if not self.test_started:
+        if not self.test_started and event.sender == self.sender:
             message = Message(body="Test Message")
             message.address = self.address
             self.sender.send(message)
@@ -2521,7 +2521,7 @@ class MobileAddressMulticastTest(MessagingHandler):
         self.r_attaches = 0
         self.reactor = None
         self.addr_timer = None
-
+        self.n_released = 0
         # The maximum number of times we are going to try to check if the
         # address  has propagated.
         self.max_attempts = 5
@@ -2533,8 +2533,11 @@ class MobileAddressMulticastTest(MessagingHandler):
             self.check_addr_host = self.sender_host
 
         if self.large_msg:
-            self.body = "0123456789101112131415" * 10000
-            self.properties = {'big field': 'X' * 32000}
+            self.body = "0123456789101112131415" * 5000
+            self.properties = {'big field': 'X' * 3200}
+
+    def on_released(self, event):
+        self.n_released += 1
 
     def timeout(self):
         if self.dup_msg:
@@ -2542,10 +2545,10 @@ class MobileAddressMulticastTest(MessagingHandler):
                          (self.receiver_name, self.dup_msg)
         else:
             if not self.error:
-                self.error = "Timeout Expired - n_sent=%d n_rcvd1=%d " \
-                             "n_rcvd2=%d n_rcvd3=%d addr=%s" % \
+                self.error = "Timeout Expired - n_sent=%d n_rcvd1=%d, " \
+                             "n_rcvd2=%d, n_rcvd3=%d, n_released=%d, addr=%s" 
% \
                              (self.n_sent, self.n_rcvd1, self.n_rcvd2,
-                              self.n_rcvd3, self.address)
+                              self.n_rcvd3, self.n_released, self.address)
         self.receiver1_conn.close()
         self.receiver2_conn.close()
         self.receiver3_conn.close()
@@ -2757,13 +2760,14 @@ class 
MobileAddrMcastAnonSenderDroppedRxTest(MobileAddressMulticastTest):
 
 class MobileAddressEventTest(MessagingHandler):
     def __init__(self, receiver1_host, receiver2_host, receiver3_host,
-                 sender_host, interior_host, address, check_remote=False):
+                 sender_host, interior_host, address, check_remote=False, 
subscriber_count=0):
         super(MobileAddressEventTest, self).__init__(auto_accept=False)
         self.receiver1_host = receiver1_host
         self.receiver2_host = receiver2_host
         self.receiver3_host = receiver3_host
         self.sender_host = sender_host
         self.address = address
+        self.subscriber_count = subscriber_count
         self.receiver1_conn = None
         self.receiver2_conn = None
         self.receiver3_conn = None
@@ -2802,34 +2806,56 @@ class MobileAddressEventTest(MessagingHandler):
                          (self.receiver_name, self.dup_msg)
         else:
             if not self.error:
-                self.error = "Timeout Expired - n_sent=%d n_rcvd1=%d " \
-                             "n_rcvd2=%d n_rcvd3=%d addr=%s" % \
+                self.error = "Timeout Expired - n_sent=%d, n_rcvd1=%d, " \
+                             "n_rcvd2=%d, n_rcvd3=%d, n_released=%d, addr=%s" 
% \
                              (self.n_sent, self.n_rcvd1, self.n_rcvd2,
-                              self.n_rcvd3, self.address)
+                              self.n_rcvd3, self.n_released, self.address)
         self.receiver1_conn.close()
         self.receiver2_conn.close()
         self.receiver3_conn.close()
         if self.sender_conn:
             self.sender_conn.close()
 
+    def on_link_opened(self, event):
+        if self.r_attaches == 3:
+            return
+        if event.receiver == self.receiver1 or event.receiver == 
self.receiver2 or event.receiver == self.receiver3:
+            self.r_attaches += 1
+
+        if self.r_attaches == 3:
+            self.addr_timer = event.reactor.schedule(1.0, AddrTimer(self))
+
     def check_address(self):
         local_node = Node.connect(self.interior_host, timeout=TIMEOUT)
         outs = local_node.query(type='org.apache.qpid.dispatch.router.address')
         remote_count = outs.attribute_names.index("remoteCount")
+        subs_count = outs.attribute_names.index("subscriberCount")
         found = False
         self.num_attempts += 1
+        remote_count_good = False
+        subscriber_count_good = False
+
         for result in outs.results:
             if self.address in result[0]:
                 if self.check_remote:
                     if result[remote_count] > 0:
-                        found = True
+                        remote_count_good = True
+                else:
+                    remote_count_good = True
+                if self.subscriber_count > 0:
+                    if self.subscriber_count == result[subs_count]:
+                        subscriber_count_good = True
                 else:
+                    subscriber_count_good = True
+
+                if remote_count_good and subscriber_count_good:
                     found = True
-                self.sender_conn = self.container.connect(self.sender_host)
-                self.sender = self.container.create_sender(self.sender_conn,
-                                                           self.address)
-                local_node.close()
-                break
+
+                if found:
+                    self.sender_conn = self.container.connect(self.sender_host)
+                    self.sender = 
self.container.create_sender(self.sender_conn, self.address)
+                    local_node.close()
+                    break
 
         if not found:
             if self.num_attempts < self.max_attempts:
@@ -2852,16 +2878,11 @@ class MobileAddressEventTest(MessagingHandler):
         self.receiver3_conn = event.container.connect(self.receiver3_host)
 
         # Create all 3 receivers first.
-        self.receiver1 = event.container.create_receiver(self.receiver1_conn,
-                                                         self.address)
-        self.receiver2 = event.container.create_receiver(self.receiver2_conn,
-                                                         self.address)
-        self.receiver3 = event.container.create_receiver(self.receiver3_conn,
-                                                         self.address)
+        self.receiver1 = event.container.create_receiver(self.receiver1_conn, 
self.address)
+        self.receiver2 = event.container.create_receiver(self.receiver2_conn, 
self.address)
+        self.receiver3 = event.container.create_receiver(self.receiver3_conn, 
self.address)
         self.container = event.container
 
-        self.addr_timer = event.reactor.schedule(1.0, AddrTimer(self))
-
     def on_sendable(self, event):
         if self.n_sent < self.count:
             msg = Message(body="Message %d" % self.n_sent)
@@ -2968,7 +2989,7 @@ class StreamingMessageTest(TestCase):
 
         def router(name, mode, extra):
             config = [
-                ('router', {'mode': mode, 'id': name}),
+                ('router', {'mode': mode, 'id': name, "helloMaxAgeSeconds": 
'10'}),
                 ('listener', {'role': 'normal',
                               'port': cls.tester.get_port(),
                               'maxFrameSize': 65535}),

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to