From 9bfbc12d7d0734a81af300d245b54376319026d7 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 20 Oct 2016 11:06:30 -0700 Subject: [PATCH] e2e: compact with latest rev in alarm test Fix https://github.com/coreos/etcd/issues/6677. --- e2e/ctl_v3_alarm_test.go | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/e2e/ctl_v3_alarm_test.go b/e2e/ctl_v3_alarm_test.go index a2d403e43..a8555400d 100644 --- a/e2e/ctl_v3_alarm_test.go +++ b/e2e/ctl_v3_alarm_test.go @@ -18,6 +18,10 @@ import ( "os" "strings" "testing" + "time" + + "github.com/coreos/etcd/clientv3" + "golang.org/x/net/context" ) func TestCtlV3Alarm(t *testing.T) { @@ -34,8 +38,7 @@ func alarmTest(cx ctlCtx) { // write some chunks to fill up the database buf := strings.Repeat("b", int(os.Getpagesize())) - var rev int64 - for ; ; rev++ { + for { if err := ctlV3Put(cx, "2nd_test", buf, ""); err != nil { if !strings.Contains(err.Error(), "etcdserver: mvcc: database space exceeded") { cx.t.Fatal(err) @@ -56,8 +59,24 @@ func alarmTest(cx ctlCtx) { } } + eps := cx.epc.grpcEndpoints() + + // get latest revision to compact + cli, err := clientv3.New(clientv3.Config{ + Endpoints: eps, + DialTimeout: 3 * time.Second, + }) + if err != nil { + cx.t.Fatal(err) + } + defer cli.Close() + sresp, err := cli.Status(context.TODO(), eps[0]) + if err != nil { + cx.t.Fatal(err) + } + // make some space - if err := ctlV3Compact(cx, rev, true); err != nil { + if err := ctlV3Compact(cx, sresp.Header.Revision, true); err != nil { cx.t.Fatal(err) } if err := ctlV3Defrag(cx); err != nil {