mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #16223 from kensou97/fix-barrier
clientv3: fix barrier.Wait() still block after barrier.Release()
This commit is contained in:
commit
8524903935
@ -60,7 +60,7 @@ func (b *Barrier) Wait() error {
|
||||
_, err = WaitEvents(
|
||||
b.client,
|
||||
b.key,
|
||||
resp.Header.Revision,
|
||||
[]mvccpb.Event_EventType{mvccpb.PUT, mvccpb.DELETE})
|
||||
resp.Header.Revision+1,
|
||||
[]mvccpb.Event_EventType{mvccpb.DELETE})
|
||||
return err
|
||||
}
|
||||
|
@ -15,6 +15,7 @@
|
||||
package recipes_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -46,6 +47,11 @@ func testBarrier(t *testing.T, waiters int, chooseClient func() *clientv3.Client
|
||||
t.Fatalf("able to double-hold barrier")
|
||||
}
|
||||
|
||||
// put a random key to move the revision forward
|
||||
if _, err := chooseClient().Put(context.Background(), "x", ""); err != nil {
|
||||
t.Errorf("could not put x (%v)", err)
|
||||
}
|
||||
|
||||
donec := make(chan struct{})
|
||||
stopc := make(chan struct{})
|
||||
defer close(stopc)
|
||||
|
Loading…
x
Reference in New Issue
Block a user