Hi, I've updated Python agent to use this method to initialize the topology. Also extended the same logic to initialize complete application model.
@Imesh: Sure, will do a thorough test before merging. @Isuru: I think we cannot get rid of complete topology synchronization task (periodically published event), since there can be situations where complete topology request event could be missed due to unavailability of CC component (maintenance restarts, failures etc.). Also currently Python agent does not have a mechanism to build the topology on-the-fly using topology events. It relies on complete topology event to update its topology context. Perhaps we can think this through more carefully and remove the periodical publish task in the next major release. Thanks. On Tue, Nov 10, 2015 at 6:07 AM, Isuru Haththotuwa <isu...@apache.org> wrote: > Great work Akila. Just to clarify, are we removing the Complete Topology > event and its usages? > > On Tue, Nov 10, 2015 at 4:16 AM, Imesh Gunaratne <im...@apache.org> wrote: > >> Great work Akila! >> >> Please do a thorough test and make sure everything is covered before >> pushing this change to the current code base. If not I would like to >> suggest to push this to the next major release. >> >> Thanks >> >> On Sun, Nov 8, 2015 at 10:35 PM, Akila Ravihansa Perera < >> raviha...@wso2.com> wrote: >> >>> Hi all, >>> >>> I took the liberty of implementing topology init optimization since that >>> will speed of lot of things that we're trying to do :) >>> >>> Here is my approach; >>> >>> - Introduce a new topic called "initialization" topic >>> - Introduce a new event called "CompleteTopologyRequestEvent" >>> - Create a message receiver, processor, listener for this event >>> - In CC component, create a message receiver object and listen to this >>> CompleteTopologyRequestEvent >>> - Once an event of this type is received, publish the >>> CompleteTopologyEvent >>> >>> *** Update the TopologyReceiver class to publish this >>> CompleteTopologyRequestEvent so that once you start listening to topology >>> events, the underlying messaging component will initialize the topology in >>> an on-demand fashion. >>> >>> I've created a PR [1] for this and still doing further testing. Please >>> go through it and let me know your thoughts. I'm planning on writing an >>> integration test to verify the functionality. I ran a complete build and >>> all test cases are passing. >>> >>> Also Stratos startup time improved very noticeably since other >>> components will not wait for CC to publish the CompleteTopology but rather >>> it will be requested on-demand via messaging component. Once this is stable >>> I'll move on to updating Python agent to use it. >>> >>> [1] https://github.com/apache/stratos/pull/487 >>> >>> Thanks. >>> >>> On Thu, Sep 10, 2015 at 10:27 AM, Pubudu Gunatilaka <pubu...@wso2.com> >>> wrote: >>> >>>> +1 for this approach. I hope PCA plugins will be able to use this. >>>> >>>> On Thu, Sep 10, 2015 at 10:17 AM, Udara Liyanage <ud...@wso2.com> >>>> wrote: >>>> >>>>> +1 >>>>> >>>>> On Thu, Sep 10, 2015 at 10:16 AM, Reka Thirunavukkarasu <r...@wso2.com >>>>> > wrote: >>>>> >>>>>> +1. Great thought. It would increase the startup time of the >>>>>> components those who listens to CompleteTopology and PCA. >>>>>> >>>>>> Thanks, >>>>>> Reka >>>>>> >>>>>> On Thu, Sep 10, 2015 at 1:09 AM, Imesh Gunaratne <im...@apache.org> >>>>>> wrote: >>>>>> >>>>>>> Hi Devs, >>>>>>> >>>>>>> I would like to propose $subject. >>>>>>> >>>>>>> Currently we do this with a one minute interval and its causing the >>>>>>> cartridge agent and the servers to wait for around two minutes (in the >>>>>>> worst case) to start. In Docker this is a considerable amount of delay. >>>>>>> >>>>>>> I think we can implement $subject by introducing another topic (say >>>>>>> topology-init) and asking the clients to request Complete Topology event >>>>>>> via the new topic. This can be done in messaging component without >>>>>>> affecting the main modules (AS, CC, SM, CEP, JCA). PCA needs to be >>>>>>> updated >>>>>>> accordingly. WDYT? >>>>>>> >>>>>>> Thanks >>>>>>> >>>>>>> -- >>>>>>> Imesh Gunaratne >>>>>>> >>>>>>> Senior Technical Lead, WSO2 >>>>>>> Committer & PMC Member, Apache Stratos >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Reka Thirunavukkarasu >>>>>> Senior Software Engineer, >>>>>> WSO2, Inc.:http://wso2.com, >>>>>> Mobile: +94776442007 >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> >>>>> Udara Liyanage >>>>> Software Engineer >>>>> WSO2, Inc.: http://wso2.com >>>>> lean. enterprise. middleware >>>>> >>>>> web: http://udaraliyanage.wordpress.com >>>>> phone: +94 71 443 6897 >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> *Pubudu Gunatilaka* >>>> Software Engineer >>>> WSO2, Inc.: http://wso2.com >>>> lean.enterprise.middleware >>>> mobile: +94 77 4078049 >>>> >>> >>> >>> >>> -- >>> Akila Ravihansa Perera >>> WSO2 Inc.; http://wso2.com/ >>> >>> Blog: http://ravihansa3000.blogspot.com >>> >> >> >> >> -- >> Imesh Gunaratne >> >> Senior Technical Lead, WSO2 >> Committer & PMC Member, Apache Stratos >> >> -- >> Thanks and Regards, >> >> Isuru H. >> +94 716 358 048* <http://wso2.com/>* >> >> >> * <http://wso2.com/>* >> >> >> -- Akila Ravihansa Perera WSO2 Inc.; http://wso2.com/ Blog: http://ravihansa3000.blogspot.com