mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #7601 from heyitsanthony/fix-proxy-compact
grpcproxy/cache: only check compaction revision for historical revisions
This commit is contained in:
commit
9381b103bb
@ -123,16 +123,25 @@ func TestV3CompactCurrentRev(t *testing.T) {
|
||||
t.Fatalf("couldn't put key (%v)", err)
|
||||
}
|
||||
}
|
||||
// get key to add to proxy cache, if any
|
||||
if _, err := kvc.Range(context.TODO(), &pb.RangeRequest{Key: []byte("foo")}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// compact on current revision
|
||||
_, err := kvc.Compact(context.Background(), &pb.CompactionRequest{Revision: 4})
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't compact kv space (%v)", err)
|
||||
}
|
||||
// key still exists?
|
||||
// key still exists when linearized?
|
||||
_, err = kvc.Range(context.Background(), &pb.RangeRequest{Key: []byte("foo")})
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't get key after compaction (%v)", err)
|
||||
}
|
||||
// key still exists when serialized?
|
||||
_, err = kvc.Range(context.Background(), &pb.RangeRequest{Key: []byte("foo"), Serializable: true})
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't get serialized key after compaction (%v)", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestV3TxnTooManyOps(t *testing.T) {
|
||||
|
2
proxy/grpcproxy/cache/store.go
vendored
2
proxy/grpcproxy/cache/store.go
vendored
@ -111,7 +111,7 @@ func (c *cache) Get(req *pb.RangeRequest) (*pb.RangeResponse, error) {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
|
||||
if req.Revision < c.compactedRev {
|
||||
if req.Revision > 0 && req.Revision < c.compactedRev {
|
||||
c.lru.Remove(key)
|
||||
return nil, ErrCompacted
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user