Skip to content

Recursive WARP graph of locks: design wanted #2

Description

@flyingrobots

Parent/child (v0.1.0) is a tree: one parent per lock, release and sweep cascade to descendants in one transaction, and the parent is verifyd inside the child's claim transaction.

The generalisation asked for is a recursive graph in the WARP sense. Open questions before code:

  • Multiple parents (a DAG): does a child need all parents live, or any? Does releasing one parent release the child, or only when the last parent goes?
  • Cycles: refuse at claim time, or allow with a different cascade rule?
  • Cross-store edges: can a lock in one store depend on a lock in another store (another repo's family)?
  • Should the graph itself be a git object (a tree of edges) so it is versioned and diffable, rather than one parent: line per record?

Mechanically, --parent repeatable plus a set of verify lines per parent is a small step from what exists; the semantics above are the real decision.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions