Liking cljdoc? Tell your friends :D

igeldb.commit


auto-commit!clj

(auto-commit! kvs entries)

Non-tx auto-commit of a folded write-set (no snapshot -> no conflict check). Adapts commit! to igeldb.write/run-mutation!'s contract: nil on success, a retriable ex-info on a memtable switch.

Non-tx auto-commit of a folded write-set (no snapshot -> no conflict check).
Adapts `commit!` to `igeldb.write/run-mutation!`'s contract: nil on success, a
retriable ex-info on a memtable switch.
sourceraw docstring

commit!clj

(commit! kvs snapshot-seq entries)

Serialize commits under the store's commit lock, holding it over {conflict-check -> seq assign -> enqueue one WAL record}. fsync + memtable apply stay in the group-commit worker. Assigning the seq and enqueuing in the same locked region makes enqueue order == seq order, so the worker's FIFO gives WAL order == seq order.

entries are folded [user_key data] pairs (one per user_key). snapshot-seq is the tx's pinned snapshot, or nil for a non-tx auto-commit op. Returns: :committed durably fsynced and applied :conflict (tx only) a write-set key was committed after the snapshot :switched the memtable switched mid-enqueue; the caller may retry Throws {:retriable false} if the worker failed the commit.

Serialize commits under the store's commit lock, holding it over
{conflict-check -> seq assign -> enqueue one WAL record}. fsync + memtable apply
stay in the group-commit worker. Assigning the seq and enqueuing in the same
locked region makes enqueue order == seq order, so the worker's FIFO gives WAL
order == seq order.

`entries` are folded [user_key data] pairs (one per user_key). `snapshot-seq` is
the tx's pinned snapshot, or nil for a non-tx auto-commit op. Returns:
  :committed  durably fsynced and applied
  :conflict   (tx only) a write-set key was committed after the snapshot
  :switched   the memtable switched mid-enqueue; the caller may retry
Throws {:retriable false} if the worker failed the commit.
sourceraw docstring

tx-commit-attempt!clj

(tx-commit-attempt! kvs snapshot-seq entries)

One commit-handler attempt for a tx: :committed / :conflict, or a retriable throw on a memtable switch so igeldb.write/run-mutation! retries the enqueue.

One commit-handler attempt for a tx: :committed / :conflict, or a retriable
throw on a memtable switch so `igeldb.write/run-mutation!` retries the enqueue.
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