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]​
.

​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

Reply via email to