From 4ed05f4ff16805b1253a902172a53e973cf41f1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90=E1=BB=97=20Tr=E1=BB=8Dng=20H=E1=BA=A3i?=
 <41283691+hainenber@users.noreply.github.com>
Date: Thu, 8 May 2025 04:45:15 +0700
Subject: [PATCH] fix(be/utils): sync cache timeout for memoized function
 (#31917)

Signed-off-by: hainenber <dotronghai96@gmail.com>
---
 superset/utils/cache.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/superset/utils/cache.py b/superset/utils/cache.py
index 87a74dd6e2..93072e6a53 100644
--- a/superset/utils/cache.py
+++ b/superset/utils/cache.py
@@ -109,7 +109,7 @@ def memoized_func(key: str, cache: Cache = cache_manager.cache) -> Callable[...,
     force means whether to force refresh the cache and is treated as False by default,
     except force = True is passed to the decorated function.
 
-    timeout of cache is set to 600 seconds by default,
+    timeout of cache is set to CACHE_DEFAULT_TIMEOUT seconds by default,
     except cache_timeout = {timeout in seconds} is passed to the decorated function.
 
     :param key: a callable function that takes function arguments and returns
@@ -121,7 +121,9 @@ def memoized_func(key: str, cache: Cache = cache_manager.cache) -> Callable[...,
         def wrapped_f(*args: Any, **kwargs: Any) -> Any:
             should_cache = kwargs.pop("cache", True)
             force = kwargs.pop("force", False)
-            cache_timeout = kwargs.pop("cache_timeout", 0)
+            cache_timeout = kwargs.pop(
+                "cache_timeout", app.config["CACHE_DEFAULT_TIMEOUT"]
+            )
 
             if not should_cache:
                 return f(*args, **kwargs)
-- 
GitLab