diff --git a/cms/envs/common.py b/cms/envs/common.py index 8f974e73e5..9fd61ec8c7 100644 --- a/cms/envs/common.py +++ b/cms/envs/common.py @@ -2193,7 +2193,7 @@ CACHES = { 'KEY_PREFIX': 'course_structure', 'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key', 'LOCATION': ['localhost:11211'], - 'TIMEOUT': '7200', + 'TIMEOUT': '604800', # 1 week 'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache', 'OPTIONS': { 'no_delay': True, diff --git a/cms/envs/devstack-experimental.yml b/cms/envs/devstack-experimental.yml index 54f6edf8f9..c08b19045f 100644 --- a/cms/envs/devstack-experimental.yml +++ b/cms/envs/devstack-experimental.yml @@ -84,7 +84,7 @@ CACHES: KEY_PREFIX: course_structure LOCATION: - edx.devstack.memcached:11211 - TIMEOUT: '7200' + TIMEOUT: '604800' default: BACKEND: django.core.cache.backends.memcached.PyMemcacheCache OPTIONS: diff --git a/lms/envs/common.py b/lms/envs/common.py index 1b305f0059..bf11453e98 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -1148,7 +1148,7 @@ CACHES = { 'KEY_PREFIX': 'course_structure', 'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key', 'LOCATION': ['localhost:11211'], - 'TIMEOUT': '7200', + 'TIMEOUT': '604800', # 1 week 'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache', 'OPTIONS': { 'no_delay': True, diff --git a/lms/envs/devstack-experimental.yml b/lms/envs/devstack-experimental.yml index 63812686e8..149cf09821 100644 --- a/lms/envs/devstack-experimental.yml +++ b/lms/envs/devstack-experimental.yml @@ -102,7 +102,7 @@ CACHES: KEY_PREFIX: course_structure LOCATION: - edx.devstack.memcached:11211 - TIMEOUT: '7200' + TIMEOUT: '604800' default: BACKEND: django.core.cache.backends.memcached.PyMemcacheCache OPTIONS: diff --git a/xmodule/modulestore/split_mongo/mongo_connection.py b/xmodule/modulestore/split_mongo/mongo_connection.py index 277aff28d4..964bb238c6 100644 --- a/xmodule/modulestore/split_mongo/mongo_connection.py +++ b/xmodule/modulestore/split_mongo/mongo_connection.py @@ -246,9 +246,10 @@ class CourseStructureCache: data_size = len(compressed_pickled_data) tagger.measure('compressed_size', data_size) - # Structures are immutable, so we set a timeout of "never" + # We rely on the course structure cache default timeout, which should be + # high by default (~ a few days). try: - self.cache.set(key, compressed_pickled_data, None) + self.cache.set(key, compressed_pickled_data) except Exception: # pylint: disable=broad-except total_bytes_in_one_mb = 1024 * 1024 chunk_size_in_mbs = round(data_size / total_bytes_in_one_mb, 2)