func RequeueErrorf(format string, a ...interface{}) error {
	return &RequeueError{fmt.Sprintf(format, a...)}
}
RequeueErrorf returns a RequeueError
package controller
import (
	"context"
	"fmt"
	"time"
	"github.com/dustin/go-humanize"
	"github.com/tikv/tikv-operator/pkg/apis/tikv/v1alpha1"
	"github.com/tikv/tikv-operator/pkg/scheme"
	"github.com/tikv/tikv-operator/pkg/util"
	corev1 "k8s.io/api/core/v1"
	apiequality "k8s.io/apimachinery/pkg/api/equality"
	"k8s.io/apimachinery/pkg/api/errors"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/runtime/schema"
	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
	"k8s.io/client-go/tools/cache"
	"k8s.io/client-go/util/retry"
	"k8s.io/client-go/util/workqueue"
	"k8s.io/klog"
	"sigs.k8s.io/controller-runtime/pkg/client"
)
var (
	ControllerKind = v1alpha1.SchemeGroupVersion.WithKind("TikvCluster")
	ClusterScoped bool
	TestMode bool
	ResyncDuration time.Duration
	PDDiscoveryImage string
)
const (
	defaultTiDBLogTailerImage = "busybox:1.26.2"
)
type RequeueError struct {
	s string
}
func (re *RequeueError) Error() string {
	return re.s
}