[ 
https://issues.apache.org/jira/browse/DISPATCH-1532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17011894#comment-17011894
 ] 

ASF GitHub Bot commented on DISPATCH-1532:
------------------------------------------

ted-ross commented on issue #654: DISPATCH-1532 - Reimplemented 
mobile-address-synchronization as a cor…
URL: https://github.com/apache/qpid-dispatch/pull/654#issuecomment-572590919
 
 
   > At commit 9198a4 this patch occasionally hangs during the first self test 
in system_tests_multicast. Scraping the logs after a hang timeout reveals that 
after a bunch of setup the test sends 10 messages with leading content :
   > 
   > > S-INT_A-1 -> 9: MCAST PRESETTLED LARGE RX DETACH
   > 
   > Then the code falls into a loop doing management queries:
   > 
   > > $amqp:/_edge/EA1/temp.85H3ENeh1E1t9hs 33 St name self type 
org.amqp.management operation QUERY entityType 
'org.apache.qpid.dispatch.router.address
   > 
   > and
   > 
   > > (amqp:/_topo/0/INT.A/temp.zgRSn+05d+QH7t8 34 St name self type 
org.amqp.management operation QUERY entityType 
'org.apache.qpid.dispatch.router.address
   > 
   > The query stream is repeated 5000 or so times before the test times out 
after 600 seconds.
   
   This was caused by a bug in the MAU generation that caused routers to hold 
stale MA state from other routers.  The PR has been updated with a fix.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Reimplement mobile-sync as a core module
> ----------------------------------------
>
>                 Key: DISPATCH-1532
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1532
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>          Components: Routing Engine
>            Reporter: Ted Ross
>            Assignee: Ted Ross
>            Priority: Major
>             Fix For: 1.11.0
>
>
> The code in Qpid Dispatch Router currently does mobile address 
> synchronization between routers in the Python router module.  This has a 
> couple of drawbacks in cases where there are large numbers of addresses:
>  * The address strings are stored twice:  once in the main address lookup 
> hash table and again in the Python mobile address module.
>  * Address lookup on the Python side is inefficient and has been a bottleneck 
> (improved recently by a patch from Gordon Sim).
>  * Python processing is single threaded.  A large mobile address update can 
> cause delays in processing management requests and link-state topology 
> maintenance.
> The python router module was intended to be an on-the-side control-plane 
> moduel that was not in the critical path for any performance-related 
> activities.  With large numbers of addresses in a network, synchronizing 
> address locations becomes performance-related.
> To address these issues, mobile address synchronization can be moved into a 
> core module where it can use and share the same address table that is used by 
> the router core for make high speed routing decisions.  In the process, it 
> will leave the python modules alone to process management requests and 
> topology maintenance uninterrupted.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to