From 62d6fe51e0e7c02ca0d6afec3ac9d3fe59de536a Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Thu, 18 Dec 2014 16:50:15 -0800 Subject: [PATCH] consul: Reverting some index compute logic --- consul/kvs_endpoint.go | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/consul/kvs_endpoint.go b/consul/kvs_endpoint.go index 622cb110a5..e4b5a36b6f 100644 --- a/consul/kvs_endpoint.go +++ b/consul/kvs_endpoint.go @@ -143,28 +143,26 @@ func (k *KVS) List(args *structs.KeyRequest, reply *structs.IndexedDirEntries) e ent = FilterDirEnt(acl, ent) } - // Determine the maximum affected index - var maxIndex uint64 - for _, e := range ent { - if e.ModifyIndex > maxIndex { - maxIndex = e.ModifyIndex - } - } - if tombIndex > maxIndex { - maxIndex = tombIndex - } - // Must provide non-zero index to prevent blocking - // Index 1 is impossible anyways (due to Raft internals) - if maxIndex == 0 { - if index > 0 { - maxIndex = index + if len(ent) == 0 { + // Must provide non-zero index to prevent blocking + // Index 1 is impossible anyways (due to Raft internals) + if index == 0 { + reply.Index = 1 } else { - maxIndex = 1 + reply.Index = index } - } - reply.Index = maxIndex - - if len(ent) != 0 { + } else { + // Determine the maximum affected index + var maxIndex uint64 + for _, e := range ent { + if e.ModifyIndex > maxIndex { + maxIndex = e.ModifyIndex + } + } + if tombIndex > maxIndex { + maxIndex = tombIndex + } + reply.Index = maxIndex reply.Entries = ent } return nil