feat!: Drop an unnecessary function.
Remove the `enable_storage_backing_for_cache_in_request` function and its uses in the platform. The function is no longer needed because the storage backing for the block_structure cache will be ON by default moving forward. BREAKING CHANGE: This `enable_storage_backing_for_cache_in_request` function no longer exists and any calls to it should be removed. The cache it enables is now always ON.
This commit is contained in:
@@ -32,15 +32,6 @@ STORAGE_BACKING_FOR_CACHE = WaffleSwitch(
|
||||
)
|
||||
|
||||
|
||||
def enable_storage_backing_for_cache_in_request():
|
||||
"""
|
||||
Manually override the value of the STORAGE_BACKING_FOR_CACHE switch in the context of the request.
|
||||
This function should not be replicated, as it accesses a protected member, and it shouldn't.
|
||||
"""
|
||||
# pylint: disable=protected-access
|
||||
STORAGE_BACKING_FOR_CACHE._cached_switches[STORAGE_BACKING_FOR_CACHE.name] = True
|
||||
|
||||
|
||||
@request_cached()
|
||||
def num_versions_to_keep():
|
||||
"""
|
||||
|
||||
@@ -10,7 +10,6 @@ from django.core.management.base import BaseCommand
|
||||
import openedx.core.djangoapps.content.block_structure.api as api
|
||||
import openedx.core.djangoapps.content.block_structure.store as store
|
||||
import openedx.core.djangoapps.content.block_structure.tasks as tasks
|
||||
from openedx.core.djangoapps.content.block_structure.config import enable_storage_backing_for_cache_in_request
|
||||
from openedx.core.lib.command_utils import (
|
||||
get_mutually_exclusive_required_option,
|
||||
parse_course_keys,
|
||||
@@ -75,12 +74,6 @@ class Command(BaseCommand):
|
||||
default=0,
|
||||
type=int,
|
||||
)
|
||||
parser.add_argument(
|
||||
'--with_storage',
|
||||
help='Store the course blocks in Storage, overriding value of the storage_backing_for_cache waffle switch',
|
||||
action='store_true',
|
||||
default=False,
|
||||
)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
|
||||
@@ -129,9 +122,6 @@ class Command(BaseCommand):
|
||||
"""
|
||||
Generates course blocks for the given course_keys per the given options.
|
||||
"""
|
||||
if options.get('with_storage'):
|
||||
enable_storage_backing_for_cache_in_request()
|
||||
|
||||
for course_key in course_keys:
|
||||
try:
|
||||
self._generate_for_course(options, course_key)
|
||||
@@ -150,7 +140,7 @@ class Command(BaseCommand):
|
||||
action = tasks.update_course_in_cache_v2 if options.get('force_update') else tasks.get_course_in_cache_v2
|
||||
task_options = {'routing_key': options['routing_key']} if options.get('routing_key') else {}
|
||||
result = action.apply_async(
|
||||
kwargs=dict(course_id=str(course_key), with_storage=options.get('with_storage')),
|
||||
kwargs=dict(course_id=str(course_key)),
|
||||
**task_options
|
||||
)
|
||||
log.info('BlockStructure: ENQUEUED generating for course: %s, task_id: %s.', course_key, result.id)
|
||||
|
||||
@@ -85,15 +85,8 @@ class TestGenerateCourseBlocks(ModuleStoreTestCase):
|
||||
assert mock_update_from_store.call_count == (self.num_courses if force_update else 0)
|
||||
|
||||
def test_one_course(self):
|
||||
self._assert_courses_not_in_block_cache(*self.course_keys)
|
||||
self.command.handle(courses=[str(self.course_keys[0])])
|
||||
self._assert_courses_in_block_cache(self.course_keys[0])
|
||||
self._assert_courses_not_in_block_cache(*self.course_keys[1:])
|
||||
self._assert_courses_not_in_block_storage(*self.course_keys)
|
||||
|
||||
def test_with_storage(self):
|
||||
self.command.handle(with_storage=True, courses=[str(self.course_keys[0])])
|
||||
self._assert_courses_in_block_cache(self.course_keys[0])
|
||||
self._assert_courses_in_block_storage(self.course_keys[0])
|
||||
self._assert_courses_not_in_block_storage(*self.course_keys[1:])
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ from opaque_keys.edx.keys import CourseKey
|
||||
|
||||
from xmodule.capa.responsetypes import LoncapaProblemError
|
||||
from openedx.core.djangoapps.content.block_structure import api
|
||||
from openedx.core.djangoapps.content.block_structure.config import enable_storage_backing_for_cache_in_request
|
||||
from xmodule.modulestore.exceptions import ItemNotFoundError # lint-amnesty, pylint: disable=wrong-import-order
|
||||
|
||||
log = logging.getLogger('edx.celery.task')
|
||||
@@ -62,8 +61,6 @@ def _update_course_in_cache(self, **kwargs):
|
||||
"""
|
||||
Updates the course blocks (mongo -> BlockStructure) for the specified course.
|
||||
"""
|
||||
if kwargs.get('with_storage'):
|
||||
enable_storage_backing_for_cache_in_request()
|
||||
_call_and_retry_if_needed(self, api.update_course_in_cache, **kwargs)
|
||||
|
||||
|
||||
@@ -93,8 +90,6 @@ def _get_course_in_cache(self, **kwargs):
|
||||
"""
|
||||
Gets the course blocks for the specified course, updating the cache if needed.
|
||||
"""
|
||||
if kwargs.get('with_storage'):
|
||||
enable_storage_backing_for_cache_in_request()
|
||||
_call_and_retry_if_needed(self, api.get_course_in_cache, **kwargs)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user