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

Add peer failures to query traces #1479

Merged
merged 2 commits into from
Sep 26, 2024
Merged

Conversation

carver
Copy link
Collaborator

@carver carver commented Sep 23, 2024

What was wrong?

There is no way to acknowledge and track whether a peer experiences a variety of failures during a query, and how long that took.

How was it fixed?

Add a new tracking HashMap in the QueryTrace object, to track utp and validation errors.

Still need to actually use the new QueryTrace API in the overlay service.

To-Do

  • Clean up commit history and use conventional commits.
  • In overlay service, track failures of utp connection, utp download, and content validation

@@ -21,6 +21,8 @@ pub struct QueryTrace {
pub origin: NodeId,
/// Map of a node's ID to its corresponding `QueryResponse`
pub responses: HashMap<NodeId, QueryResponse>,
/// Track if and how each node fails during a query
pub failures: HashMap<NodeId, QueryFailure>,
Copy link
Collaborator Author

@carver carver Sep 23, 2024

Choose a reason for hiding this comment

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

@mrferris what do you think about this structure, for tracking failures types and times, for each peer?

(PR is unfinished, I just remember you saying you had opinions on this data structure, and figured I'd get early feedback)

Recognized failure types include:
- utp connection failure
- utp transfer failure
- content validation failure
When querying content, the trace will now record if the content
validation fails or of the utp download fails.

It currently does not tell the difference between a utp connection error
and a download error.
@carver carver changed the title WIP Trace failed content Add peer failures to query traces Sep 25, 2024
@carver carver marked this pull request as ready for review September 25, 2024 00:05
@carver carver self-assigned this Sep 25, 2024
@carver carver merged commit ec8ee7f into ethereum:master Sep 26, 2024
9 checks passed
@carver carver deleted the trace-failed-content branch September 26, 2024 22:10
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