|
@@ -788,3 +788,21 @@ func isGteRange(rangeEnd []byte) bool {
|
|
|
func noSideEffect(r *pb.InternalRaftRequest) bool {
|
|
func noSideEffect(r *pb.InternalRaftRequest) bool {
|
|
|
return r.Range != nil || r.AuthUserGet != nil || r.AuthRoleGet != nil
|
|
return r.Range != nil || r.AuthUserGet != nil || r.AuthRoleGet != nil
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+func removeNeedlessRangeReqs(txn *pb.TxnRequest) {
|
|
|
|
|
+ f := func(ops []*pb.RequestOp) []*pb.RequestOp {
|
|
|
|
|
+ j := 0
|
|
|
|
|
+ for i := 0; i < len(ops); i++ {
|
|
|
|
|
+ if _, ok := ops[i].Request.(*pb.RequestOp_RequestRange); ok {
|
|
|
|
|
+ continue
|
|
|
|
|
+ }
|
|
|
|
|
+ ops[j] = ops[i]
|
|
|
|
|
+ j++
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return ops[:j]
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ txn.Success = f(txn.Success)
|
|
|
|
|
+ txn.Failure = f(txn.Failure)
|
|
|
|
|
+}
|