# Reason `'busy'`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` and `tables/problems.json` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

A member of [`Reason`](../api/Reason.md) · stable · since 2.0.0

`expectRevision` was given while a transaction was open or queued ahead of the write, or a recorded write was pending ahead of it in the write queue (pending look-only writes such as [`apply`](../api/Writer.apply.md), and dry runs, open or queued, don't count).

## Where the declaration names it

- [`CommitOptions.expectRevision`](../api/CommitOptions.expectRevision.md): While a transaction is open or queued ahead of it, or while a recorded write ahead of it in the write queue is pending, it is refused 'busy' at once.
- [`CommitOptions.supersede`](../api/CommitOptions.supersede.md): With `expectRevision` on the same write, `expectRevision` decides first: while a transaction is open the write is refused 'busy' and nothing rolls back.
- [`Session.transaction`](../api/Session.transaction.md): Outside writes made while it is open never join: they are queued (default), supersede it (`supersede: true`), or are refused 'busy' (`expectRevision`).

The set is open: handle a code you don't know (`'other'`).
