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

[Session] Ensure deterministic supplier set for historical sessions #1089

Open
5 tasks
red-0ne opened this issue Feb 24, 2025 · 0 comments
Open
5 tasks

[Session] Ensure deterministic supplier set for historical sessions #1089

red-0ne opened this issue Feb 24, 2025 · 0 comments
Assignees
Labels
on-chain On-chain business logic session Changes related to Session management supplier Changes related to the Supplier actor

Comments

@red-0ne
Copy link
Contributor

red-0ne commented Feb 24, 2025

Objective

Ensure that queries for past Sessions return a consistent set of Suppliers, regardless of Supplier turnover (i.e., staking/unstaking).

Origin Document

When hydrating a Session, the current logic always selects from the currently staked Suppliers.

This approach is problematic in the context of claim settlement, which occurs after the corresponding session has ended. At that point, the new Supplier set may not match the one used when serving the now-settling Session.

Goals

  • Ensure a deterministic set of Suppliers for a given Session, regardless of when the Session is queried.

Deliverables

  • A single PR addressing the issue by filtering Suppliers based on the query height.

Non-goals / Non-deliverables

  • Implementing historical state persistence
  • Persisting the Supplier set beyond the claim settlement height

General deliverables

  • Comments: Add/update TODOs and comments alongside the source code so it is easier to follow.
  • Testing: Add new tests (unit and/or E2E) to the test suite.
  • Makefile: Add new targets to the Makefile to make the new functionality easier to use.
  • Documentation: Update architectural or development READMEs; use mermaid diagrams where appropriate.

Creator: @Red0ne
Co-Owners: @bryanchriswhite

@red-0ne red-0ne self-assigned this Feb 24, 2025
@red-0ne red-0ne added supplier Changes related to the Supplier actor session Changes related to Session management on-chain On-chain business logic labels Feb 24, 2025
@red-0ne red-0ne added this to Shannon Feb 24, 2025
@github-project-automation github-project-automation bot moved this to 📋 Backlog in Shannon Feb 24, 2025
@red-0ne red-0ne moved this from 📋 Backlog to 🔖 Ready in Shannon Feb 24, 2025
@red-0ne red-0ne added this to the Beta TestNet Iteration milestone Feb 24, 2025
@red-0ne red-0ne moved this from 🔖 Ready to 🏗 In progress in Shannon Mar 3, 2025
@red-0ne red-0ne moved this from 🏗 In progress to 👀 In review in Shannon Mar 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
on-chain On-chain business logic session Changes related to Session management supplier Changes related to the Supplier actor
Projects
Status: 👀 In review
Development

No branches or pull requests

1 participant