From 43e8eaee1c6065d768fdb2291f135eb3256da935 Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Tue, 17 Oct 2017 11:06:16 -0400 Subject: [PATCH] 12216: Separate config for uuid->pdh cache TTL, default 5 seconds. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- services/keep-web/cache.go | 8 ++++---- services/keep-web/main.go | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/services/keep-web/cache.go b/services/keep-web/cache.go index c29ae7d43c..ce1168acd2 100644 --- a/services/keep-web/cache.go +++ b/services/keep-web/cache.go @@ -16,6 +16,7 @@ import ( type cache struct { TTL arvados.Duration + UUIDTTL arvados.Duration MaxCollectionEntries int MaxCollectionBytes int64 MaxPermissionEntries int @@ -135,13 +136,12 @@ func (c *cache) Get(arv *arvadosclient.ArvadosClient, targetID string, forceRelo return nil, err } if current.PortableDataHash == pdh { - exp := time.Now().Add(time.Duration(c.TTL)) c.permissions.Add(permKey, &cachedPermission{ - expire: exp, + expire: time.Now().Add(time.Duration(c.TTL)), }) if pdh != targetID { c.pdhs.Add(targetID, &cachedPDH{ - expire: exp, + expire: time.Now().Add(time.Duration(c.UUIDTTL)), pdh: pdh, }) } @@ -167,7 +167,7 @@ func (c *cache) Get(arv *arvadosclient.ArvadosClient, targetID string, forceRelo expire: exp, }) c.pdhs.Add(targetID, &cachedPDH{ - expire: exp, + expire: time.Now().Add(time.Duration(c.UUIDTTL)), pdh: collection.PortableDataHash, }) c.collections.Add(arv.ApiToken+"\000"+collection.PortableDataHash, &cachedCollection{ diff --git a/services/keep-web/main.go b/services/keep-web/main.go index 585dab13e3..27ceb48c78 100644 --- a/services/keep-web/main.go +++ b/services/keep-web/main.go @@ -45,6 +45,7 @@ func DefaultConfig() *Config { Listen: ":80", Cache: cache{ TTL: arvados.Duration(5 * time.Minute), + UUIDTTL: arvados.Duration(5 * time.Second), MaxCollectionEntries: 1000, MaxCollectionBytes: 100000000, MaxPermissionEntries: 1000, -- 2.30.2