What is a proper retry interval and retry time for Canton related error
Just hope to check if there’s a reasonable or recommended time interval between each retry and max time for retries if canton transaction failed (e.g. sequencer timeout, max rate exceeded etc…)
I understand this should depend heavily on different applications and with different context, just want to see if there’s a number to start with.
Thanks a lot in advance.
Hi Judy,
A reference to retries to the Sequencer is in the Domain Connectivity Service documentation.
Specifically:
message DomainConnectionConfig {
// participant local identifier of the target domain
string domain_alias = 1;
// connection information to sequencer
com.digitalasset.canton.protocol.v0.SequencerConnection sequencerConnection = 2;
// if false, then domain needs to be manually connected to (default false)
bool manual_connect = 3;
// optional domainId (if TLS isn't to be trusted)
string domain_id = 4;
// optional. Influences whether the participant submits to this domain, if several domains are eligible
int32 priority = 5;
// initial delay before an attempt to reconnect to the sequencer
google.protobuf.Duration initialRetryDelay = 6;
// maximum delay before an attempt to reconnect to the sequencer
google.protobuf.Duration maxRetryDelay = 7;
// configuration for how time is tracked and requested on this domain
com.digitalasset.canton.time.admin.v0.DomainTimeTrackerConfig timeTracker = 8;
As far as a specific period between one retry and another, I cannot see a minimum value but will keep looking.
Thanks so much @Ben_M for the swift reply.
I was actually thinking about application (ledger client) retries.
But from the config below, I wonder if it’s recommended to retry from participant, instead from the application.
Also is there a recommended time of retries?
(I only see initialRetryDelay and maxRetryDelay, maybe I missed it)
Thanks so so much again!
If there is a defined or recommended number of retries, I have not seen it yet.
Noted, thanks still @Ben_M!