You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
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
The text was updated successfully, but these errors were encountered: