(run-mutation! coordinator tree config op mutate!)Run a memtable mutation, applying the settled error classes:
close!, reject the mutation immediately -- and also if it becomes
unusable mid-flight. poison holds the fatal Throwable (a fault) or the
:closed marker; a fault is preserved as the exception cause.write-retries times, then give up. The last
retriable failure is preserved as the cause.Non-retriable exceptions propagate unchanged. Returns mutate!'s value on
success (nil for auto-commit writes; the commit outcome for a tx commit). op is
:write / :delete / :commit-tx, used only for the message.
Run a memtable mutation, applying the settled error classes:
- Unusable store (fail-stop): if the store has been poisoned by an IO error, or
closed via `close!`, reject the mutation immediately -- and also if it becomes
unusable mid-flight. `poison` holds the fatal `Throwable` (a fault) or the
`:closed` marker; a fault is preserved as the exception cause.
- Class C (retriable): a collision with a memtable switch throws
{:retriable true}; retry up to `write-retries` times, then give up. The last
retriable failure is preserved as the cause.
Non-retriable exceptions propagate unchanged. Returns `mutate!`'s value on
success (nil for auto-commit writes; the commit outcome for a tx commit). `op` is
:write / :delete / :commit-tx, used only for the message.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |