in pkg/controller/disaggregated_cluster_controller.go [260:276]
func (dc *DisaggregatedClusterReconciler) reorganizeStatus(ddc *dv1.DorisDisaggregatedCluster) (ctrl.Result, error) {
for _, sc := range dc.Scs {
//update component status.
if err := sc.UpdateComponentStatus(ddc); err != nil {
klog.Errorf("DorisClusterReconciler reconcile update component %s status failed.err=%s\n", sc.GetControllerName(), err.Error())
return requeueIfError(err)
}
}
ddc.Status.ClusterHealth.Health = dv1.Green
if ddc.Status.FEStatus.AvailableStatus != dv1.Available || ddc.Status.ClusterHealth.CGAvailableCount <= (ddc.Status.ClusterHealth.CGCount/2) {
ddc.Status.ClusterHealth.Health = dv1.Red
} else if ddc.Status.FEStatus.Phase != dv1.Ready || ddc.Status.ClusterHealth.CGAvailableCount < ddc.Status.ClusterHealth.CGCount {
ddc.Status.ClusterHealth.Health = dv1.Yellow
}
return ctrl.Result{}, nil
}