Docs

E0013

A deploy was refused because a tool's budget in `crab.toml` is past the most the node lets one call use.

A deploy was refused because a tool's budget in crab.toml is past the most the node lets one call use.

Erroneous example:

$ crab deploy
Error: 400 [E0013]: tool "search"'s budget sets written past this host's most

The service keeps its previous deployment, if any. A successful image build does not establish that its budgets fit the destination host.

cpu is in microseconds, read and written are row counts, and memory is in MiB. Default host ceilings are cpu = 100_000 (100 ms), read = 1_000_000, written = 1_000_000 and memory = 128; hosts can configure different ceilings. For example, cpu = 500_000 is 500 ms, above the default CPU ceiling.

To deploy it:

  • Set a provisional budget within the host ceilings, then measure representative and largest supported workloads, including error paths, with crab bench or on the local host. Add headroom, then check every key against the destination's ceilings. See Sizing a budget.
  • If the work cannot fit, reduce its resource use or supported input bounds. Use batching or pagination when the operation supports them. Lowering the declaration alone can turn a deploy refusal into calls that fail at runtime.
  • Set the measured budget under [tools.<tool>], rebuild and retest before deploying. crab budget suggestions do not check host ceilings.

Omitted keys use defaults: 100 ms CPU, 1,000,000 rows read, 10,000 rows written and 128 MiB memory on a default host. Removing a key does not give the tool unlimited resources.