func()

in rocketmq-knative/source/pkg/controller/sdk/reconciler.go [105:143]


func (r *Reconciler) needsUpdate(ctx context.Context, old, new runtime.Object) (bool, error) {
	if old == nil {
		return true, nil
	}

	// Check Status.
	os, err := NewReflectedStatusAccessor(old)
	if err != nil {
		return false, err
	}
	ns, err := NewReflectedStatusAccessor(new)
	if err != nil {
		return false, err
	}
	oStatus := os.GetStatus()
	nStatus := ns.GetStatus()

	if !equality.Semantic.DeepEqual(oStatus, nStatus) {
		return true, nil
	}

	// Check finalizers.
	of, err := NewReflectedFinalizersAccessor(old)
	if err != nil {
		return false, err
	}
	nf, err := NewReflectedFinalizersAccessor(new)
	if err != nil {
		return false, err
	}
	oFinalizers := of.GetFinalizers()
	nFinalizers := nf.GetFinalizers()

	if !equality.Semantic.DeepEqual(oFinalizers, nFinalizers) {
		return true, nil
	}

	return false, nil
}