diff --git a/yarn-project/end-to-end/bootstrap.sh b/yarn-project/end-to-end/bootstrap.sh index c08a2f2374d4..9c8766040d1c 100755 --- a/yarn-project/end-to-end/bootstrap.sh +++ b/yarn-project/end-to-end/bootstrap.sh @@ -198,11 +198,14 @@ function avm_check_circuit_cmds { # Commands run from repo root via parallelize, so use path from top local dump_dir_from_top="yarn-project/end-to-end/$default_avm_inputs_dump_dir" - # Specify timeout and resources - # WARNING: theoretically, transactions could need more CPU and MEM than we allocate by default. - # In that case, they might start timing out. For now, all of the e2e test txs seem to be relatively - # small and the AVM can run check-circuit with limited resources. - local prefix="$hash:ISOLATE=1:TIMEOUT=30s" + # Specify timeout and resources. + # Most e2e txs produce small circuits that check in a couple of seconds on the default 2 CPUs, but + # larger ones (e.g. an e2e_multiple_blobs tx yielding a ~700k-row circuit) do not finish the check + # within 30s when capped at 2 CPUs, so they time out (exit 124). check_circuit parallelises over + # rows, so we give each container 4 CPUs to roughly halve the check time plus a larger timeout for + # headroom. With `parallelize 16` this is 16*4 = 64 CPUs, matching the smallest CI fleet instance + # (no oversubscription). + local prefix="$hash:ISOLATE=1:TIMEOUT=90s:CPUS=4" # Find all .bin files in the dump directory (handles nested dirs) for input_file in "$default_avm_inputs_dump_dir"/*/*.bin "$default_avm_inputs_dump_dir"/*/*/*.bin; do