Merge pull request #6413 from xiang90/fix_wait

clientv3: return error from response when possible
This commit is contained in:
Xiang Li 2016-09-12 22:54:42 -05:00 committed by GitHub
commit 8c492c70ef

View File

@ -26,14 +26,20 @@ import (
func waitDelete(ctx context.Context, client *v3.Client, key string, rev int64) error {
cctx, cancel := context.WithCancel(ctx)
defer cancel()
var wr v3.WatchResponse
wch := client.Watch(cctx, key, v3.WithRev(rev))
for wr := range wch {
for wr = range wch {
for _, ev := range wr.Events {
if ev.Type == mvccpb.DELETE {
return nil
}
}
}
if err := wr.Err(); err != nil {
return err
}
if err := ctx.Err(); err != nil {
return err
}