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 default could be just a `NullCache` that does
not work with the most appropriate values set for other cache options.
A `DEFAULT_CACHE_CONFIG_FUNC` factory is also 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 the all are using the same DEFAULT_CACHE, then it should
just use the default cache storage.
--
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]