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
}