From e7104d609adbf71ed081163fec738189f1667c4f Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Sat, 28 Oct 2017 16:21:32 +0100 Subject: [PATCH] return the not found error --- selector/cache/cache.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/selector/cache/cache.go b/selector/cache/cache.go index f90a62b4..5e61dce7 100644 --- a/selector/cache/cache.go +++ b/selector/cache/cache.go @@ -119,10 +119,20 @@ func (c *cacheSelector) get(service string) ([]*registry.Service, error) { } // expired entry so get service - if services, err := get(service); err == nil { + services, err := get(service) + + // no error then return error + if err == nil { return services, nil } + // not found error then return + if err == registry.ErrNotFound { + return nil, selector.ErrNotFound + } + + // other error + // return expired cache as last resort return c.cp(services), nil }