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

discovery+graph: track job set dependencies in vb #9241

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Commits on Nov 6, 2024

  1. graph: change ValidationBarrier usage in the router

    This omits calls to InitJobDependencies, SignalDependants, and
    WaitForDependants. A new method FetchJobSlot has been added to the
    ValidationBarrier which only reserves a job slot and does not set
    up any dependency mappings. These changes have been made here
    because the router / builder code does not actually need job
    dependency management. Calls to the builder code (i.e. AddNode,
    AddEdge, UpdateEdge) are all blocking in the gossiper. This,
    combined with the fact that child jobs are run after parent jobs
    in the gossiper, means that the calls to the router will happen
    in the proper dependency order. This means that usage of the
    ValidationBarrier is therefore useless except for the job
    slot reservation to prevent DoS.
    Crypt-iQ committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    e66fb21 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    55834fd View commit details
    Browse the repository at this point in the history
  3. discovery+graph: track job set dependencies in ValidationBarrier

    This commit does two things:
    - removes the concept of allow / deny. Having this in place was a
      minor optimization and removing it makes the solution simpler.
    - changes the job dependency tracking to track sets of abstact
      parent jobs rather than individual parent jobs.
    
    As a note, the purpose of the ValidationBarrier is that it allows us
    to launch gossip validation jobs in goroutines while still ensuring
    that the validation order of these goroutines is adhered to when it
    comes to validating ChannelAnnouncement _before_ ChannelUpdate and
    _before_ NodeAnnouncement.
    Crypt-iQ committed Nov 6, 2024
    Configuration menu
    Copy the full SHA
    b721488 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c5e584a View commit details
    Browse the repository at this point in the history