Closed
Description
Why
The signer can get stuck when an open message has expired on the aggregator (as described in https://discord.com/channels/826816523368005654/1014019542504185876/1328667162524516384 and https://discord.com/channels/826816523368005654/1014019542504185876/1328523813352116327):
- it tries to sign over and over again the same signed entity type (here the Cardano stake distribution)
- each time the aggregator answers a 500 error stating that the message has expired
- this error prevents the signer to record the signature (which would allow to sign the next signed entity type at the following cycle)
What
Have the signer consider a message signed even if the aggregator returns an error because of an expired open message when the signature is submitted.
How
- Return a
GONE
HTTP code when theCertifierServiceError
returned isExpired
- In the signer, enhance the handling of the
GONE
HTTP code inregister_signatures
function to use the error message returned by the aggregator - In the signer, remove the
CONFLICT
handling of theregister_signatures
signature function