From 4366f35e1e3e633f94e94d3ab2aadd6443522ae5 Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Wed, 13 Sep 2017 09:50:24 -0700 Subject: [PATCH 1/2] e2e: test no value is returned in TestCtlV3GetKeysOnly Test was checking key name is returned, but was not correctly checking no value is returned. --- e2e/ctl_v3_kv_test.go | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/e2e/ctl_v3_kv_test.go b/e2e/ctl_v3_kv_test.go index d05a69ccf4d..2e14bea6416 100644 --- a/e2e/ctl_v3_kv_test.go +++ b/e2e/ctl_v3_kv_test.go @@ -222,21 +222,15 @@ func getRevTest(cx ctlCtx) { } func getKeysOnlyTest(cx ctlCtx) { - var ( - kvs = []kv{{"key1", "val1"}} - ) - for i := range kvs { - if err := ctlV3Put(cx, kvs[i].key, kvs[i].val, ""); err != nil { - cx.t.Fatalf("getKeysOnlyTest #%d: ctlV3Put error (%v)", i, err) - } + if err := ctlV3Put(cx, "key", "val", ""); err != nil { + cx.t.Fatal(err) } - - cmdArgs := append(cx.PrefixArgs(), "get") - cmdArgs = append(cmdArgs, []string{"--prefix", "--keys-only", "key"}...) - - err := spawnWithExpects(cmdArgs, []string{"key1", ""}...) - if err != nil { - cx.t.Fatalf("getKeysOnlyTest : error (%v)", err) + cmdArgs := append(cx.PrefixArgs(), []string{"get", "--keys-only", "key"}...) + if err := spawnWithExpect(cmdArgs, "key"); err != nil { + cx.t.Fatal(err) + } + if err := spawnWithExpects(cmdArgs, "val"); err == nil { + cx.t.Fatalf("got value but passed --keys-only") } } From 7f4464415a9f3039d745247b04c5a271a72fd526 Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Wed, 13 Sep 2017 09:57:08 -0700 Subject: [PATCH 2/2] grpcproxy: respect KeysOnly flag Fixes #8478 --- proxy/grpcproxy/kv.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/proxy/grpcproxy/kv.go b/proxy/grpcproxy/kv.go index ff445393df6..1c9860f98af 100644 --- a/proxy/grpcproxy/kv.go +++ b/proxy/grpcproxy/kv.go @@ -179,7 +179,9 @@ func RangeRequestToOp(r *pb.RangeRequest) clientv3.Op { if r.CountOnly { opts = append(opts, clientv3.WithCountOnly()) } - + if r.KeysOnly { + opts = append(opts, clientv3.WithKeysOnly()) + } if r.Serializable { opts = append(opts, clientv3.WithSerializable()) }