ktmud commented on a change in pull request #18976:
URL: https://github.com/apache/superset/pull/18976#discussion_r817194254



##########
File path: superset/config.py
##########
@@ -576,31 +578,44 @@ def _try_json_readsha(filepath: str, length: int) -> 
Optional[str]:
 # Setup image size default is (300, 200, True)
 # IMG_SIZE = (300, 200, True)
 
-# Default cache timeout, applies to all cache backends unless specifically 
overridden in
+
+# Default cache config, applies to all cache backends unless specifically 
overridden in
 # each cache config.
-CACHE_DEFAULT_TIMEOUT = int(timedelta(days=1).total_seconds())
+def DEFAULT_CACHE_CONFIG_FUNC(  # pylint: disable=invalid-name
+    app: Flask,
+) -> CacheConfig:
+    default_timeout = app.config.get("CACHE_DEFAULT_TIMEOUT")
+    if default_timeout is None:
+        default_timeout = int(timedelta(days=1).total_seconds())
+    else:
+        logger.warning(
+            "The global config flag CACHE_DEFAULT_TIMEOUT has been deprecated "
+            "and will be removed in Superset 2.0. Please set default cache 
options in "
+            "DEFAULT_CACHE_CONFIG_FUNC"
+        )
+
+    return {
+        "CACHE_TYPE": "SimpleCache" if app.debug else "NullCache",
+        "CACHE_THRESHOLD": math.inf,

Review comment:
       To keep things simple, the defaults could be just a `SimpleCache` with 
other cache options setting to the most appropriate values for production (e.g. 
cache expire date set to 6 months or 1 year).
   
   A `DEFAULT_CACHE_CONFIG_FUNC` factory is somewhat confusing since ideally 
all of Superset should just use the same cache, we introduced so many different 
cache storages because they SHOULD  be configured differently in accord with 
their different purposes. If some place needs to use the same 
DEFAULT_CACHE_CONFIG, then it should just use the default cache storage. If an 
administrator wants to use the same Redis server for all caches, it's not 
difficult to reuse an ENV variable or extend a shared Python variable in their 
own config file.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to