From f530fe558f3f476243b5ed95b9e07948cce25e82 Mon Sep 17 00:00:00 2001 From: Kit Patella Date: Fri, 17 Jul 2020 13:03:36 -0700 Subject: [PATCH] command: fix cas put when index=0 and better errors in put and delete --- command/kv/del/kv_delete.go | 2 +- command/kv/put/kv_put.go | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/command/kv/del/kv_delete.go b/command/kv/del/kv_delete.go index 78e1967ee7..62fe49f7ca 100644 --- a/command/kv/del/kv_delete.go +++ b/command/kv/del/kv_delete.go @@ -78,7 +78,7 @@ func (c *cmd) Run(args []string) int { // ModifyIndex is required for CAS if c.cas && c.modifyIndex == 0 { - c.UI.Error("Must specify -modify-index with -cas!") + c.UI.Error("Cannot delete a key that does not exist. Provide a -modify-index greater than than 0.") return 1 } diff --git a/command/kv/put/kv_put.go b/command/kv/put/kv_put.go index 0f416273d1..55c73439dc 100644 --- a/command/kv/put/kv_put.go +++ b/command/kv/put/kv_put.go @@ -99,12 +99,6 @@ func (c *cmd) Run(args []string) int { return 1 } - // ModifyIndex is required for CAS - if c.cas && c.modifyIndex == 0 { - c.UI.Error("Must specify -modify-index with -cas!") - return 1 - } - // Create and test the HTTP client client, err := c.http.APIClient() if err != nil { @@ -127,6 +121,10 @@ func (c *cmd) Run(args []string) int { c.UI.Error(fmt.Sprintf("Error! Did not write to %s: %s", key, err)) return 1 } + if !ok && c.modifyIndex == 0 { + c.UI.Error(fmt.Sprintf("Error! Did not write to %s: CAS performed with index=0 and key already exists.", key)) + return 1 + } if !ok { c.UI.Error(fmt.Sprintf("Error! Did not write to %s: CAS failed", key)) return 1