Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DEPR]: edx-user-state-client repo #167

Closed
ormsbee opened this issue Nov 10, 2022 · 4 comments
Closed

[DEPR]: edx-user-state-client repo #167

ormsbee opened this issue Nov 10, 2022 · 4 comments
Assignees
Labels
depr Proposal for deprecation & removal per OEP-21

Comments

@ormsbee
Copy link

ormsbee commented Nov 10, 2022

Proposal Date

2022-11-10

Target Ticket Acceptance Date

2022-11-24

Earliest Open edX Named Release Without This Functionality

Palm - 2023-04

Rationale

The edx-user-state-client repo was created to provide a common interface definition for multiple backends that could hold XBlock user state.

My recollection is that at one point edx.org was running into scaling issues with it's courseware_studentmodule table, somewhere around the point we went into the billions of rows. This repo was spun out with the idea that edX would swap in some more exotic storage solution (e.g. Cassandra), while leaving MySQL as the default LMS backend for XBlock student state.

Since that time, we discovered that the performance issues primarily came from lock contention when updating the same rows in unnecessarily long transactions, and merged a fix that largely obviated the issue.

Now it's just a shell of a repo that needs to be upgraded and maintained. It defines a narrow interface with only one concrete implementation sitting in edx-platform and no future implementations planned. More recently, it's made a history-related PR in edx-platform more difficult because it defines tests that are executed in edx-platform, and we want to change its behavior to be request-aware.

Removal

The entire edx-user-state-client repo would be archived. The PyPI package would remain to not break older installs.

Replacement

The interfaces and tests in this repo would be transferred to edx-platform.

Deprecation

No response

Migration

No response

Additional Info

No response

@ormsbee ormsbee added the depr Proposal for deprecation & removal per OEP-21 label Nov 10, 2022
@ormsbee ormsbee self-assigned this Nov 30, 2022
@dianakhuang
Copy link

We would need to move the interfaces and tests as listed in the replacement into edx-platform proper before we archive this repo.

@feanil
Copy link

feanil commented Sep 7, 2023

This is currently being worked on by the Aximprovements team: openedx/axim-engineering#853

@feanil
Copy link

feanil commented Sep 19, 2023

This work was completed via openedx/edx-platform#33218

@feanil feanil closed this as completed Sep 19, 2023
@salman2013
Copy link

The PR to remove to move interfaces and test into edx-platform. openedx/edx-platform#33218

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
depr Proposal for deprecation & removal per OEP-21
Projects
Archived in project
Development

No branches or pull requests

4 participants