diff --git a/DEPS.bzl b/DEPS.bzl index f7ebcfd0ab144..de81c22140a27 100644 --- a/DEPS.bzl +++ b/DEPS.bzl @@ -4108,8 +4108,8 @@ def go_deps(): name = "com_github_tikv_client_go_v2", build_file_proto_mode = "disable_global", importpath = "github.com/tikv/client-go/v2", - sum = "h1:m5Y7tBW5Rq8L1ANxibitBa/DInDy3hA2Qvk1Ys9u1NU=", - version = "v2.0.7-0.20230317032622-884a634378d4", + sum = "h1:XpdZrei86oIrRjXbqvlQh23TdHXVtSxWmsxxwy/Zgc0=", + version = "v2.0.7-0.20230328084104-ea13e9700259", ) go_repository( name = "com_github_tikv_pd", diff --git a/go.mod b/go.mod index a27f7aac31733..c5810dc4e6500 100644 --- a/go.mod +++ b/go.mod @@ -93,7 +93,7 @@ require ( github.com/stretchr/testify v1.8.2 github.com/tdakkota/asciicheck v0.2.0 github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 - github.com/tikv/client-go/v2 v2.0.7-0.20230317032622-884a634378d4 + github.com/tikv/client-go/v2 v2.0.7-0.20230328084104-ea13e9700259 github.com/tikv/pd/client v0.0.0-20230324033443-79ec29cee8db github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e github.com/twmb/murmur3 v1.1.6 diff --git a/go.sum b/go.sum index 39ed930184d52..2f56c8a7350f4 100644 --- a/go.sum +++ b/go.sum @@ -942,8 +942,8 @@ github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 h1:mbAskLJ0oJf github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2/go.mod h1:2PfKggNGDuadAa0LElHrByyrz4JPZ9fFx6Gs7nx7ZZU= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a/go.mod h1:h4xBhSNtOeEosLJ4P7JyKXX7Cabg7AVkWCK5gV2vOrM= -github.com/tikv/client-go/v2 v2.0.7-0.20230317032622-884a634378d4 h1:m5Y7tBW5Rq8L1ANxibitBa/DInDy3hA2Qvk1Ys9u1NU= -github.com/tikv/client-go/v2 v2.0.7-0.20230317032622-884a634378d4/go.mod h1:DPL03G+QwLmypNjDIl+B02UltorBMx3WzSh4yJbp+cw= +github.com/tikv/client-go/v2 v2.0.7-0.20230328084104-ea13e9700259 h1:XpdZrei86oIrRjXbqvlQh23TdHXVtSxWmsxxwy/Zgc0= +github.com/tikv/client-go/v2 v2.0.7-0.20230328084104-ea13e9700259/go.mod h1:J6zUseSVj8p+Uyr1QQugZsPuksazVE1P4lbhSPISQ/o= github.com/tikv/pd/client v0.0.0-20230324033443-79ec29cee8db h1:hZ9gL1wq4dnIzEHjoTB4MHiqi3cA6pqANL4yxUtyCP0= github.com/tikv/pd/client v0.0.0-20230324033443-79ec29cee8db/go.mod h1:3cTcfo8GRA2H/uSttqA3LvMfMSHVBJaXk3IgkFXFVxo= github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e h1:MV6KaVu/hzByHP0UvJ4HcMGE/8a6A4Rggc/0wx2AvJo= diff --git a/store/driver/txn/txn_driver.go b/store/driver/txn/txn_driver.go index 0a040b72cd6fd..b0a4b92946efd 100644 --- a/store/driver/txn/txn_driver.go +++ b/store/driver/txn/txn_driver.go @@ -79,7 +79,6 @@ func (txn *tikvTxn) CacheTableInfo(id int64, info *model.TableInfo) { func (txn *tikvTxn) LockKeys(ctx context.Context, lockCtx *kv.LockCtx, keysInput ...kv.Key) error { keys := toTiKVKeys(keysInput) - txn.exitFairLockingIfInapplicable(ctx, keys) err := txn.KVTxn.LockKeys(ctx, lockCtx, keys...) if err != nil { return txn.extractKeyErr(err) @@ -89,7 +88,6 @@ func (txn *tikvTxn) LockKeys(ctx context.Context, lockCtx *kv.LockCtx, keysInput func (txn *tikvTxn) LockKeysFunc(ctx context.Context, lockCtx *kv.LockCtx, fn func(), keysInput ...kv.Key) error { keys := toTiKVKeys(keysInput) - txn.exitFairLockingIfInapplicable(ctx, keys) err := txn.KVTxn.LockKeysFunc(ctx, lockCtx, fn, keys...) if err != nil { return txn.extractKeyErr(err) @@ -357,18 +355,6 @@ func (txn *tikvTxn) UpdateMemBufferFlags(key []byte, flags ...kv.FlagsOp) { txn.GetUnionStore().GetMemBuffer().UpdateFlags(key, getTiKVFlagsOps(flags)...) } -func (txn *tikvTxn) exitFairLockingIfInapplicable(ctx context.Context, keys [][]byte) { - if len(keys) > 1 && txn.IsInAggressiveLockingMode() { - // Only allow fair locking if it only needs to lock one key. Considering that it's possible that a - // statement causes multiple calls to `LockKeys` (which means some keys may have been locked in fair - // locking mode), here we exit fair locking mode by calling DoneFairLocking instead of cancelling. - // Then the previously-locked keys during execution in this statement (if any) will be turned into the state - // as if they were locked in normal way. - // Note that the issue https://github.com/pingcap/tidb/issues/35682 also exists here. - txn.KVTxn.DoneAggressiveLocking(ctx) - } -} - func (txn *tikvTxn) generateWriteConflictForLockedWithConflict(lockCtx *kv.LockCtx) error { if lockCtx.MaxLockedWithConflictTS != 0 { failpoint.Inject("lockedWithConflictOccurs", func() {})