Yes, That should be the way. Currently we are creating new listener objects in LoadBalancerExtension class for every event.
On Thu, Jul 2, 2015 at 9:39 PM, Gayan Gunarathne <gay...@wso2.com> wrote: > Hi Asanka, > > As we are updating and reading the TopologyProvider with two different > listeners, we can't guaranteed topology provider update occurs before we > reading the topology provider.IMO we can do it through one listener. > > Thanks, > Gayan > > On Thu, Jul 2, 2015 at 8:23 PM, Asanka Sanjaya Herath <angal...@gmail.com> > wrote: > >> Hi, >> >> As Gayan suggested I added a delay before execute configure method as a >> temporary solution. But It seems like the issue has not solved completely >> yet. >> >> On Thu, Jul 2, 2015 at 6:46 PM, Asanka Sanjaya Herath <angal...@gmail.com >> > wrote: >> >>> Hi Gayan, >>> >>> Yes that is correct. All the other members are shown in topology but the >>> recent activated one is not showing. It seems like the issue is related to >>> member activated event. >>> >>> On Thu, Jul 2, 2015 at 3:24 PM, Gayan Gunarathne <gay...@wso2.com> >>> wrote: >>> >>>> >>>> >>>> On Fri, Jun 26, 2015 at 12:58 AM, Asanka Sanjaya Herath < >>>> angal...@gmail.com> wrote: >>>> >>>>> >>>>> Hi All, >>>>> >>>>> As we discussed in the hangout I did some debugging on $subject. >>>>> >>>>> *Issue: When configure() method[1] executed, topology object does not >>>>> contain information about latest activated member*. >>>>> >>>>> When a member get activated [2], reloadConfiguration() method in >>>>> LoadBalancerExtension [3] class will be executed. But, at that time >>>>> topology object does not contain the information about the activated >>>>> member. >>>>> >>>>> Once I debug the flow, I figured out that line 196 in >>>>> LoadBalancerExtension class >>>>> >>>>> [4] get executed *before* line 118 in >>>>> LoadBalancerCommonTopologyEventReceive >>>>> r ciass >>>>> >>>>> [5]. Therefore addMember() method[6] will execute after >>>>> reloadConfiguration() method[3] executed. So member has not been added to >>>>> topology when configure() method get executed in >>>>> LoadBalancer >>>>> API >>>>> [1] >>>>> . >>>>> >>>> >>>> You mean that TopologyProvider is not updated with the new member >>>> details when you are configuring the load balancer with the Topology >>>> Provider? >>>> >>>> >>>>> >>>>> I think, If we can swap the execution of above two lines the problem >>>>> may be solved. >>>>> But I'm not sure how to do it >>>>> . >>>>> Any help is appreciated. >>>>> >>>>> [1] >>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancer.java#L51 >>>>> >>>>> [2]. >>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java#L194 >>>>> >>>>> >>>>> [3]. >>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java#L197 >>>>> >>>>> >>>>> [4]. >>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.load.balancer.extension.api/src/main/java/org/apache/stratos/load/balancer/extension/api/LoadBalancerExtension.java#L196 >>>>> >>>>> [5]. >>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java#L118 >>>>> >>>>> [6]. >>>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java#L136 >>>>> -- >>>>> Thanks, >>>>> Regards, >>>>> ASH >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Gayan Gunarathne >>>> Technical Lead, WSO2 Inc. (http://wso2.com) >>>> Committer & PMC Member, Apache Stratos >>>> email : gay...@wso2.com | mobile : +94 766819985 >>>> >>>> >>>> >>> >>> >>> >>> -- >>> Thanks, >>> Regards, >>> ASH >>> >> >> >> >> -- >> Thanks, >> Regards, >> ASH >> > > > > -- > > Gayan Gunarathne > Technical Lead, WSO2 Inc. (http://wso2.com) > Committer & PMC Member, Apache Stratos > email : gay...@wso2.com | mobile : +94 766819985 > > > -- Thanks, Regards, ASH