-
-
Notifications
You must be signed in to change notification settings - Fork 107
Open
Labels
A-developer-xpArea: developer experienceArea: developer experienceA-networkingArea: Networking, ring protocol, peer discoveryArea: Networking, ring protocol, peer discoveryE-mediumExperience needed to fix/implement: Medium / intermediateExperience needed to fix/implement: Medium / intermediateT-enhancementType: Improvement to existing functionalityType: Improvement to existing functionality
Description
Summary
The PUT pipeline currently emits a second SuccessfulPut directly to the operation originator (see PutOp::process_message in crates/core/src/operations/put.rs). This extra ACK works around the fact that the normal upstream response path can drop messages when transport tasks stall. Now that we're instrumenting and fixing the actual transport issue, this shortcut is both redundant and risky: it can hide missing responses and complicates reasoning about message delivery.
Why this matters
- It papers over bugs higher up in the stack instead of fixing them.
- We end up with duplicate
SuccessfulPutlogs that make debugging harder. - Long-term, it can mask regressions in transport or routing because the client still receives the direct ACK even if the main path is broken.
Proposal
- Remove the direct-send block inside
PutOp::process_message(both the broadcast and final-hop cases). - Audit tests to ensure they don't rely on the shortcut.
- Confirm that the standard upstream path is exercised by running the flaky PUT/connectivity tests with trace logging after the listener fix lands.
Tracking this cleanup separately keeps PR #2064 focused on stabilizing transport while ensuring we don’t carry the workaround forward.
Metadata
Metadata
Assignees
Labels
A-developer-xpArea: developer experienceArea: developer experienceA-networkingArea: Networking, ring protocol, peer discoveryArea: Networking, ring protocol, peer discoveryE-mediumExperience needed to fix/implement: Medium / intermediateExperience needed to fix/implement: Medium / intermediateT-enhancementType: Improvement to existing functionalityType: Improvement to existing functionality
Type
Projects
Status
Triage