aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2021-12-06 00:24:57 +0800
committerGitHub <noreply@github.com>2021-12-06 00:24:57 +0800
commit11d519b38541fe4c05b11e15be6c90ae5ae37f22 (patch)
tree30974f13f55724f3923b915a1819f362a8229794 /modules
parentb4a32afec1fa1989b0060ae31347e583cfb51c13 (diff)
downloadgitea-11d519b38541fe4c05b11e15be6c90ae5ae37f22.tar.gz
gitea-11d519b38541fe4c05b11e15be6c90ae5ae37f22.zip
Test cache during init (#17852)
Diffstat (limited to 'modules')
-rw-r--r--modules/cache/cache.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/cache/cache.go b/modules/cache/cache.go
index 3a2732c343..e7630638bf 100644
--- a/modules/cache/cache.go
+++ b/modules/cache/cache.go
@@ -8,6 +8,7 @@ import (
"fmt"
"strconv"
+ "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
mc "gitea.com/go-chi/cache"
@@ -35,6 +36,20 @@ func NewContext() error {
if conn, err = newCache(setting.CacheService.Cache); err != nil {
return err
}
+ const testKey = "__gitea_cache_test"
+ const testVal = "test-value"
+ if err = conn.Put(testKey, testVal, 10); err != nil {
+ return err
+ }
+ val := conn.Get(testKey)
+ if valStr, ok := val.(string); !ok || valStr != testVal {
+ // If the cache is full, the Get may not read the expected value stored by Put.
+ // Since we have checked that Put can success, so we just show a warning here, do not return an error to panic.
+ log.Warn("cache (adapter:%s, config:%s) doesn't seem to work correctly, set test value '%v' but get '%v'",
+ setting.CacheService.Cache.Adapter, setting.CacheService.Cache.Conn,
+ testVal, val,
+ )
+ }
}
return err