openedx / public-engineering

General public issue repository for the Open edX engineering community
4 stars 2 forks source link

[DEPR]: block_structure.storage_backing_for_cache in edx-platform #32

Open feanil opened 2 years ago

feanil commented 2 years ago

Proposal Date

9 February 2021

Ticket Acceptance Date

1 March 2021

Technology Removal Date

TBD

First Open edX Named Release Without This Functionality

TBD

Rationale

See Removal Section

Removal

Removing: Toggle labeled 'block_structure.storage_backing_for_cache'. The toggle has the following annotation as a description:

When enabled, block structures are stored in a more permanent storage, like a database, which provides an additional backup for cache misses, instead having them regenerated. The regeneration of block structures is a time consuming process. Therefore, enaRemoving: Toggle labeled 'block_structure.storage_backing_for_cache'. The toggle has the following annotation as a description:

When enabled, block structures are stored in a more permanent storage, like a database, which provides an additional backup for cache misses, instead having them regenerated. The regeneration of block structures is a time consuming process. Therefore, enabling this switch is recommended for Production.

This toggle defaults to False, however in deprecation we intend to set it to True. We could not think of a reason not to have this toggle on, even in development.bling this switch is recommended for Production.

This toggle defaults to False, however in deprecation we intend to set it to True. We could not think of a reason not to have this toggle on, even in development.

Replacement

No replacement is intended as no use case can be found for it. You can, however, specify where the storage is set. You could, for instance, set it to AWS block storage, or to local disk. The setting BLOCK_STRUCTURES_SETTINGS['STORAGE_CLASS'] covers this need.

Deprecation

No response

Migration

No response

Additional Info

Original Conversation: https://github.com/edx/edx-platform/pull/26175/files#r565801078 Original Jira Issue: https://openedx.atlassian.net/browse/DEPR-145 Relates to https://github.com/openedx/public-engineering/issues/31

feanil commented 2 years ago

This was announced a while back: https://discuss.openedx.org/t/deprecation-removal-several-block-structure-caching-settings-depr-143-depr-144-depr-145-depr-146/4288

We can mark it as accepted.

dianakhuang commented 1 year ago

When testing, we should confirm that when a Studio publish happens that we have a backend write to storage.

Ensure that the progress page work after Studio publish (and reflect Studio changes).

ajamal-python commented 1 year ago

@dianakhuang I am working on this ticket. Do we need to remove "block_structure.storage_backing_for_cache" toggle or only set this value True? I haven't found values of STORAGE_CLASS and STORAGE_KWARGS in BLOCK_STRUCTURES_SETTINGS in cms/envs/commons.py. How to set "block_structure.storage_backing_for_cache" is True?

dianakhuang commented 1 year ago

@ajamal-python , we would like to remove the toggle entirely, and to have the code behave as if the value is set to true. Does that clarify the ticket?

ajamal-python commented 1 year ago

@dianakhuang , please clarify following points- How to set "block_structure.storage_backing_for_cache" is True? Do we need to add STORAGE_CLASS and STORAGE_KWARGS in BLOCK_STRUCTURES_SETTINGS in cms/envs/commons.py?

dianakhuang commented 1 year ago

@ajamal-python If you want to set it locally, you would need to enable it through a waffle flag in django admin.

I do believe we need to add STORAGE_CLASS and STORAGE_KWARGS to cms/envs/common.py.

ajamal-python commented 1 year ago

@dianakhuang when I set STORAGE_CLASS='django.core.files.storage.FileSystemStorage', STORAGE_KWARGS=dict( location=MEDIA_ROOT, base_url=MEDIA_URL, ), in cms/envs/commons.py and lms/envs/commons.py , I am getting PermissionError: [Errno 13] Permission denied: '/edx/var'. Log file is attached.Please check and guide me 7_Setup and run tests.txt