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

neutrino+query+rescan: improve rescan speed #236

Closed

Commits on Nov 11, 2021

  1. neutrino+query: use work dispatcher for GetBlock

    Use the work dipatcher interface from the query package to make getdata
    requests instead of using the old queryPeers function.
    ellemouton committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    d983c73 View commit details
    Browse the repository at this point in the history
  2. neutrino+query: use work dispatcher for GetCFilter

    Use the work dispatcher query interface instead of the old queryPeers
    method for making getcfilter requests. This ensures that the queries are
    made to the most responsive peers. With this PR we can also remove the
    queryPeers function.
    ellemouton committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    fd76d6f View commit details
    Browse the repository at this point in the history
  3. query: separate goroutine for filter db writes

    Let the GetCFilter function return, and hence unlock the mutex, as soon
    as it is done writing filters to the cache and then let the writing to
    the DB happen in a separate goroutine. This greatly improves the speed
    at which filters can be downloaded since the bottle neck in this
    operation is writing the filters to the db.
    ellemouton committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    2b2c363 View commit details
    Browse the repository at this point in the history
  4. rescan: wait till current or end height reached

    Let the rescan function wait until the filter headers have either caught
    up to the back end chain or until they have caught up to the specified
    rescan end block. This lets the rescan operation take advantage of doing
    batch filter fetching during rescan making the operation a lot faster
    since filters can be fetched in batches of 1000 instead of one at a
    time.
    ellemouton committed Nov 11, 2021
    Configuration menu
    Copy the full SHA
    0e99431 View commit details
    Browse the repository at this point in the history