diff --git a/yarn-project/end-to-end/bootstrap.sh b/yarn-project/end-to-end/bootstrap.sh index 011679338e8f..cc3730999c9f 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 test txs produce small AVM traces that check-circuit clears in a few seconds at the + # default 2 CPUs. A few txs (e.g. e2e_multiple_blobs) are much larger (~700k circuit rows) and need + # ~30-40s for trace generation plus check-circuit, so the previous 30s budget was right on the edge + # and flaked. The timeout is generous (rather than raising CPUS) because bumping per-test CPUS halves + # the parallel scheduler's concurrency for every tx, penalizing the small common case to help a few + # large outliers; a longer timeout only lets the rare large tx hold its slot a bit longer. + local prefix="$hash:ISOLATE=1:TIMEOUT=120s" # 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