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

Daemon-archive performance fix #14728

Closed
wants to merge 2 commits into from
Closed

Conversation

deepthiskumar
Copy link
Member

@deepthiskumar deepthiskumar commented Dec 16, 2023

Issue: Daemon connected to archive process is stuck in catchup during high load. It seems like either the archiving is slow or the process becomes unresponsive for a while. Regardless, I don’t think the daemon should wait for response from the archive process.

Explain your changes:

  • Daemon change: Don't wait for the response from archive process when sending blocks.
  • TODO: Archive process slowness

Explain how you tested your changes:
*Tested locally. Daemon making progress when catching up during high load

  • TODO: Daemons synced but archiving still very slow

Checklist:

  • Dependency versions are unchanged
    • Notify Velocity team if dependencies must change in CI
  • Modified the current draft of release notes with details on what is completed or incomplete within this project
  • Document code purpose, how to use it
    • Mention expected invariants, implicit constraints
  • Tests were added for the new behavior
    • Document test purpose, significance of failures
    • Test names should reflect their purpose
  • All tests pass (CI will check this if you didn't)
  • Serialized types are in stable-versioned modules
  • Does this close issues? List them
  • Closes #0000

@deepthiskumar
Copy link
Member Author

@vfrsilva vfrsilva added Testworld-2-0-protocol-performance-testing Should be used to raise general issues with Testworld 2.0 network Testworld-2-0-archive-node Should be used to raise archive node issues with Testworld 2.0 network labels Dec 18, 2023
@nholland94
Copy link
Member

I'm not sure if this is the right fix here. While we do want to unblock the broadcast_pipe that is waiting for us to process the breadcrumb messages, it seems we also want to serialize the archive processor messages in dependency order of the breadcrumbs we are receiving (unless I'm missing something). I would think we want to actually have a dependency-based queue of breadcrumbs that will be maintained and processed by the archive client, where we only add to that queue when we handle the broadcast pipe reads.

@deepthiskumar
Copy link
Member Author

Closing this in favour of #14736

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Testworld-2-0-archive-node Should be used to raise archive node issues with Testworld 2.0 network Testworld-2-0-protocol-performance-testing Should be used to raise general issues with Testworld 2.0 network
Projects
Status: Reviewed
Development

Successfully merging this pull request may close these issues.

3 participants