mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #6804 from heyitsanthony/stm-conflict
grpcproxy: invalidate comparison keys after txn
This commit is contained in:
commit
352d4fa3fa
@ -89,7 +89,15 @@ func (p *kvProxy) Txn(ctx context.Context, r *pb.TxnRequest) (*pb.TxnResponse, e
|
||||
}
|
||||
|
||||
resp, err := txn.If(cmps...).Then(thenops...).Else(elseops...).Commit()
|
||||
return (*pb.TxnResponse)(resp), err
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// txn may claim an outdated key is updated; be safe and invalidate
|
||||
for _, cmp := range r.Compare {
|
||||
p.cache.Invalidate(cmp.Key, nil)
|
||||
}
|
||||
return (*pb.TxnResponse)(resp), nil
|
||||
}
|
||||
|
||||
func (p *kvProxy) Compact(ctx context.Context, r *pb.CompactionRequest) (*pb.CompactionResponse, error) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user