From b21bdae61f5a526c93dbd2d33213b612615800d4 Mon Sep 17 00:00:00 2001 From: Artem Poltorzhitskiy Date: Thu, 4 Jul 2024 04:39:43 +0200 Subject: [PATCH] Fix: cache overflow (#238) --- cmd/api/cache/ttl.go | 2 +- cmd/api/cache/ttl_test.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/api/cache/ttl.go b/cmd/api/cache/ttl.go index 17efa40f..782c6ddf 100644 --- a/cmd/api/cache/ttl.go +++ b/cmd/api/cache/ttl.go @@ -87,7 +87,7 @@ func (c *TTLCache) Set(key string, data []byte) { c.queue[queueIdx-1] = key delete(c.m, keyForRemove) } else { - c.queue[c.maxEntitiesCount-queueIdx-1] = key + c.queue[queueIdx] = key } } } diff --git a/cmd/api/cache/ttl_test.go b/cmd/api/cache/ttl_test.go index a7e5ffe2..16b11c63 100644 --- a/cmd/api/cache/ttl_test.go +++ b/cmd/api/cache/ttl_test.go @@ -46,6 +46,8 @@ func TestTTLCache_SetGet(t *testing.T) { _, exists := c.Get("0") require.False(t, exists) + + require.Equal(t, []string{"98", "99"}, c.queue) }) t.Run("overflow set queue multithread", func(t *testing.T) {