Liking cljdoc? Tell your friends :D
Clojure only.

igeldb.write


run-mutation!clj

(run-mutation! coordinator tree config op mutate!)

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.

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.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close