Liking cljdoc? Tell your friends :D

jepsen.mongodb.cluster

Functions for starting and stopping MongoDB deployments.

Functions for starting and stopping MongoDB deployments.
raw docstring

jepsen.mongodb.control

Utility functions.

Utility functions.
raw docstring

jepsen.mongodb.dbhash

Client, generator, and checker for verifying data consistency across all members of a replica set by using the 'dbHash' command.

Client, generator, and checker for verifying data consistency across all
members of a replica set by using the 'dbHash' command.
raw docstring

jepsen.mongodb.dbutil

Utility functions for initializing and finalizing a MongoDB database's environment.

Utility functions for initializing and finalizing a MongoDB database's
environment.
raw docstring

jepsen.mongodb.document-cas

Compare-and-set against a single document.

Compare-and-set against a single document.
raw docstring

jepsen.mongodb.faketime

Functions for messing with time and clocks.

Functions for messing with time and clocks.
raw docstring

jepsen.mongodb.net

MongoDB specific controls for network manipulation.

MongoDB specific controls for network manipulation.
raw docstring

jepsen.mongodb.read-concern-majority

Read Concern Majority Test.

OVERVIEW:

readConcern majority should provide the guarantee that any data returned is the result of committed operations, i.e. operations that are present on a majority of the nodes in the replica set, and therefore should never be rolled back. To check this, we verify the following property, which should hold given the restriction that we consider only document insert operations; no updates or deletes.

If R is a readConcern majority read that occurs at time T (from the perspective of a fixed client) and reads the set of documents D from a collection C, then any read R' that occurs at time T’ >= T, should read a set of documents D' such that D is a subset of D', i.e. every document that exists in D should exist in D'.

TEST SETUP:

In order to check the above property, this test continually inserts unique documents, on potentially many writer threads, while a single thread periodically reads the full state of the collection. When the test completes, we verify that the set of documents returned by every read R is a subset of the documents returned by the subsequent read, R'. Note that 'subsequent' in this context has a well defined meaning since reads occur within a single thread of execution.

e.g.

Reader/Writer Threads:

  • = insert operation R = read operation

Writer-1 –––––––––––––––––––––––––––––––––––––> Writer-2 ––––––––––––––––––––––––––––––––––––––> Writer-3 –––––––––––––––––––––––––––––––––––––> . . . Writer-N ––––––––––––––––––––––––––––––––––––––> Reader –––––––R–––––––––R–––––––––R–––––––––R–––>

Read Concern Majority Test.

OVERVIEW:

readConcern majority should provide the guarantee that any data returned is
the result of committed operations, i.e. operations that are present on a
majority of the nodes in the replica set, and therefore should never be rolled
back. To check this, we verify the following property, which should hold given
the restriction that we consider only document insert operations; no updates
or deletes.

If R is a readConcern majority read that occurs at time T (from the
perspective of a fixed client) and reads the set of documents D from a
collection C, then any read R' that occurs at time T’ >= T, should read a set
of  documents D' such that D is a subset of D', i.e. every document that
exists in D should exist in D'.


TEST SETUP:

In order to check the above property, this test continually inserts unique
documents, on potentially many writer threads, while a single thread
periodically reads the full state of the collection. When the test completes,
we verify that the set of documents returned by every read R is a subset of
the documents returned by the subsequent read, R'. Note that 'subsequent' in
this context has a well defined meaning since reads occur within a single
thread of execution.

e.g.

  Reader/Writer Threads:

  * = insert operation
  R = read operation

  Writer-1 ––*––––––––––*––––––––––*–––––*––––––––––>
  Writer-2 –––––––*––––––––––––*–––––––––––––*––––––>
  Writer-3 ––*–––––––––*––––––––––––––*––––––––*––––>
    .
    .
    .
  Writer-N ––––––––––*––––––––––*––––––––––––*––––––>
  Reader   –––––––R–––––––––R–––––––––R–––––––––R–––>
raw docstring

jepsen.mongodb.runner

Runs the full Mongo test suite, including a config file. Provides exit status reporting.

Runs the full Mongo test suite, including a config file. Provides exit
status reporting.
raw docstring

jepsen.mongodb.set

A big ol set test: lots of inserts, followed by a final read.

A big ol set test: lots of inserts, followed by a final read.
raw docstring

jepsen.mongodb.time

Controls time and clocks.

Controls time and clocks.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close