Closed divergentdave closed 12 months ago
Yup, we definitely need to clarify this, and I agree that an explicit signal of rejection is most useful. For what it's worth Daphne Helper will abort if it encounters a failure
in the AggregateContReq
: https://github.com/cloudflare/daphne/blob/main/daphne/src/vdaf/mod.rs#L755
I agree this merits clarification, and also vote for an explicit signal of rejection (i.e. the Leader sends Failed PrepareSteps to the Helper on error).
I believe this issue is obsolete, because the changes in #393 mean that it's no longer possible for AggregationJobContinueReq
to contain a failure or share rejection message. However, what remains is the idea that the leader should explicitly signal preparation failure to the helper. I don't think we have a strong enough case for this yet, especially since deployments can use some means out of band of DAP to share error information between aggregators. So we should keep this open to eventually discuss an in-band mechanism for leader-to-helper error reporting, but I don't think there's anything to do for draft-ietf-ppm-dap-05 anymore (except to update a TODO which referenced the wrong issue number).
Closing with no action. For the moment we don't have a compelling reason for a fancier error handling mechanism. If we want to discuss this further, let's open a fresh issue with a more refined problem statement.
The spec says in the helper continuation section that helpers should be prepared for leaders to send PrepareSteps in the failed state.
In the leader continuation section, it says of the same continue request message that,
We should be clear about whether non-
continue
PrepareStepStates are allowed in these requests. It might be useful to allowfailed
inAggregationJobContinueReq
steps, because then it could carry aReportShareError
, so that the helper could get visibility of error codes, as the leader does. (The helper can already notice that a report share was filtered out from one request to the next, and infer that there was some error)