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

Stateless dagstore #122

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Stateless dagstore #122

wants to merge 1 commit into from

Conversation

dirkmc
Copy link
Contributor

@dirkmc dirkmc commented May 30, 2022

Refactor DAG store to be stateless

Questions:

  • Should we remove the RecoverOnStart configuration?
    It's not going to scale, so suggest we just remove it

@dirkmc dirkmc force-pushed the refactor/stateless branch 3 times, most recently from 6f278ce to 3b5678e Compare May 30, 2022 13:56
Copy link
Member

@raulk raulk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed this synchronously. This isn't a direction we'll want to pursue generally. It's only possible to remove these states for Boost because Lotus mounts are fully remote and never require local management of resources. However, the DagStore was conceived to be mount-agnostic and many mounts will require local caching of resources which, in turn, requires tracking usage and refcounts.

See #65 for an example. There are in fact 4-5 new usages of DagStore that I've recently became aware of, many of which hinge on GC.

That said, there is a key learning to absorb. In a horizontally scalable DagStore, not all states are equal.

  • New, Available are common cluster-wide states.
  • Initializing, Serving are local states.
  • Recovering, Errored are somewhere in between, depending on the kind of error.

I would consider a refactor of the DagStore that modelled this scoping. But generally removing the local states to support Boost at the expense of other users and use cases is not something I would advise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants