diff --git a/pkg/schedule/placement/rule.go b/pkg/schedule/placement/rule.go index 75ccd509ee8..df498109589 100644 --- a/pkg/schedule/placement/rule.go +++ b/pkg/schedule/placement/rule.go @@ -89,8 +89,7 @@ func (r *Rule) String() string { // Clone returns a copy of Rule. func (r *Rule) Clone() *Rule { - var clone Rule - json.Unmarshal([]byte(r.String()), &clone) + clone := *r clone.StartKey = append(r.StartKey[:0:0], r.StartKey...) clone.EndKey = append(r.EndKey[:0:0], r.EndKey...) return &clone