Also in the cluster monitor we are getting status change from[1]. AFAIU
that process logic is not execute ever and stateChanged will be always
false.Is n't?
// Checking the current status of the cluster instance
boolean stateChanged =
ServiceReferenceHolder.getInstance().getClusterStatusProcessorChain()
.process("", cluster.getClusterId(),
clusterInstance.getInstanceId());
AFAIU we have to listen to all the cluster events[2] for decide the current
status of the cluster.
[1]
https://github.com/apache/stratos/blob/stratos-4.1.x/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java#L1498
[2]
https://github.com/apache/stratos/tree/stratos-4.1.x/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/listener/cluster/status
Thanks,
Gayan
On Wed, Nov 18, 2015 at 6:52 PM, Isuru Haththotuwa <[email protected]>
wrote:
> Hi,
>
> In ClusterMonitor [1] and AutoscalerTopologyEventReceiver [2] classes,
> there are two occasions where we are sending a message through the
> ClusterStatusProcessorChain with type set to an empty String [3, 4]. AFAIK
> the processor chain will determine which processor to use based on this
> type, and since its empty, the message will not update the ClusterStatus.
> Any particular reason to do this?
>
> [1]. org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor
> [2].
> org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver
> [3].
> ServiceReferenceHolder.getInstance().getClusterStatusProcessorChain().
> * process("", clusterId, clusterInstanceId);*
>
> [4].
> ServiceReferenceHolder.getInstance().getClusterStatusProcessorChain().
> * process("", cluster.getClusterId(),
> clusterInstance.getInstanceId());*
>
>
>
> --
> Thanks and Regards,
>
> Isuru H.
> +94 716 358 048* <http://wso2.com/>*
>
>
>
--
Gayan Gunarathne
Technical Lead, WSO2 Inc. (http://wso2.com)
Committer & PMC Member, Apache Stratos
email : [email protected] | mobile : +94 775030545 <%2B94%20766819985>