mirror of https://github.com/tikv/client-go.git
region_request: remove backoff for stale read (#1423)
* remove stale read backoff Signed-off-by: you06 <you1474600@gmail.com> * sort imports Signed-off-by: you06 <you1474600@gmail.com> --------- Signed-off-by: you06 <you1474600@gmail.com>
This commit is contained in:
parent
0820519da7
commit
c810ed88fb
|
|
@ -57,7 +57,7 @@ func TestBackoffErrorType(t *testing.T) {
|
|||
assert.Nil(t, err)
|
||||
// 6ms sleep at most in total
|
||||
for i := 0; i < 2; i++ {
|
||||
err = b.Backoff(BoMaxDataNotReady, errors.New("data not ready"))
|
||||
err = b.Backoff(BoMaxRegionNotInitialized, errors.New("region not initialized"))
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
// 100ms sleep at most in total
|
||||
|
|
@ -88,7 +88,7 @@ func TestBackoffDeepCopy(t *testing.T) {
|
|||
b := NewBackofferWithVars(context.TODO(), 4, nil)
|
||||
// 700 ms sleep in total and the backoffer will return an error next time.
|
||||
for i := 0; i < 3; i++ {
|
||||
err = b.Backoff(BoMaxDataNotReady, errors.New("data not ready"))
|
||||
err = b.Backoff(BoMaxRegionNotInitialized, errors.New("region not initialized"))
|
||||
assert.Nil(t, err)
|
||||
}
|
||||
bForked, cancel := b.Fork()
|
||||
|
|
@ -96,7 +96,7 @@ func TestBackoffDeepCopy(t *testing.T) {
|
|||
bCloned := b.Clone()
|
||||
for _, b := range []*Backoffer{bForked, bCloned} {
|
||||
err = b.Backoff(BoTiKVRPC, errors.New("tikv rpc"))
|
||||
assert.ErrorIs(t, err, BoMaxDataNotReady.err)
|
||||
assert.ErrorIs(t, err, BoMaxRegionNotInitialized.err)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -133,7 +133,6 @@ var (
|
|||
BoTxnNotFound = NewConfig("txnNotFound", &metrics.BackoffHistogramEmpty, NewBackoffFnCfg(2, 500, NoJitter), tikverr.ErrResolveLockTimeout)
|
||||
BoStaleCmd = NewConfig("staleCommand", &metrics.BackoffHistogramStaleCmd, NewBackoffFnCfg(2, 1000, NoJitter), tikverr.ErrTiKVStaleCommand)
|
||||
BoMaxTsNotSynced = NewConfig("maxTsNotSynced", &metrics.BackoffHistogramEmpty, NewBackoffFnCfg(2, 500, NoJitter), tikverr.ErrTiKVMaxTimestampNotSynced)
|
||||
BoMaxDataNotReady = NewConfig("dataNotReady", &metrics.BackoffHistogramDataNotReady, NewBackoffFnCfg(2, 2000, NoJitter), tikverr.ErrRegionDataNotReady)
|
||||
BoMaxRegionNotInitialized = NewConfig("regionNotInitialized", &metrics.BackoffHistogramEmpty, NewBackoffFnCfg(2, 1000, NoJitter), tikverr.ErrRegionNotInitialized)
|
||||
BoIsWitness = NewConfig("isWitness", &metrics.BackoffHistogramIsWitness, NewBackoffFnCfg(1000, 10000, EqualJitter), tikverr.ErrIsWitness)
|
||||
// TxnLockFast's `base` load from vars.BackoffLockFast when create BackoffFn.
|
||||
|
|
|
|||
|
|
@ -1715,13 +1715,7 @@ func (s *RegionRequestSender) onRegionError(
|
|||
if s.replicaSelector != nil {
|
||||
s.replicaSelector.onDataIsNotReady()
|
||||
}
|
||||
if !req.IsGlobalStaleRead() {
|
||||
// only backoff local stale reads as global should retry immediately against the leader as a normal read
|
||||
err = bo.Backoff(retry.BoMaxDataNotReady, errors.New("data is not ready"))
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
}
|
||||
// do not backoff data-is-not-ready as we always retry with normal snapshot read.
|
||||
return true, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue