"Transaction was not sequenced within the pre-defined max sequencing time"


My question is similar to this one, but I was wondering if there is new answer with the latest release.

While running some performance tests with a daml script hitting a local Canton (version 2.5.0+), I run into the following timeout with a large transaction:

Exception in thread "main" com.daml.lf.engine.script.ScriptF$FailedCmd: Command submit failed: ABORTED: NOT_SEQUENCED_TIMEOUT(2,3f559f59): Transaction was not sequenced within the pre-defined max sequencing time and has therefore timed out

Is there a way to raise this timeout value? (I previously ran into a gRPC message exceeds maximum size limit, which I fixed with --max-inbound-message-size )


You have some examples of the timing configs in our dynamic configuration docs and the 2.5.0 release notes. For your convenience, here’s an example to increase the timeout you are running into:

domain1.service.set_ledger_time_record_time_tolerance(5.minutes, true)

This sets the timeout “record time tolerance” from the default 1 minute to 5 minutes with immediate effect - the true means force = true. This forcing is not safe during operation, but is safe during ledger initialization.

The time window is symmetric around ledger time. So if during interpretation the submitting node picks ledger time T, the transaction will be valid if sequenced in the 5 minute window T-2.5m to T+2.5m.