openedx / openedx/openedx-authz
Implement a scalable policy loading strategy
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 9
- Avg merge
- 13d 9h
- Merged PRs (30d)
- 9
Description
Description
The framework currently loads the full policy set into memory. While this worked for Ulmo’s MVP and passed load tests up to ~100 concurrent users, this approach may not scale as policies and scope types increase. Earlier work explored loading only relevant subsets of policies, but this was not finalized: https://github.com/openedx/openedx-authz/pull/86
This issue tracks:
- Reviewing how policies are currently loaded into memory.
- Identifying the points in the system that depend on full-policy loading.
- Implementing a long-term strategy that avoids loading unnecessary policies while keeping enforcement correct.
- Ensuring the new strategy supports additional scopes beyond the MVP.
Acceptance Criteria
- There is a clear description of the current loading flow and its constraints.
- There is a documented list of components affected by changing the loading strategy.
- A first iteration of an implementation that avoids loading the entire policy set when not required.
- Follow-up tasks if further refinements are needed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the current policy-loading flow and the earlier exploration in pull request #86. Map the components that depend on full-policy loading, then define and implement a first strategy that avoids unnecessary policy loading while preserving enforcement and supporting additional scopes; document constraints, affected components, and follow-up work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authorization, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100