summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/tla_plus/RaftMongo/MCRaftMongo.cfg
blob: 3724efb7f0b607c0d943389094d64c8b5ca14fc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
\* Config file to run the TLC model-checker on RaftMongo.tla.
\* See RaftMongo.tla for instructions.

\* The maximum number of oplog entries that can be created on the primary in one
\* action. For model-checking, this can be 1 or a small number.
CONSTANT MaxClientWriteSize = 2

\* The number of election terms to simulate during model-checking.
CONSTANT MaxTerm = 3

\* The longest oplog any server can reach during model-checking.
CONSTANT MaxLogLen = 3

\* The set of server IDs. Adjust to test different replica set sizes.
CONSTANT Server = {1, 2, 3}

INVARIANT NoTwoPrimariesInSameTerm

\* NeverRollbackCommitted and NeverRollbackBeforeCommitPoint can be violated,
\* although it's not ultimately a safety issue: SERVER-39626. The issue
\* requires at least 5 servers, 3 terms, and oplogs of length 4+, which are
\* larger limits than we can easily model-check.
INVARIANT NeverRollbackCommitted
INVARIANT NeverRollbackBeforeCommitPoint

PROPERTY CommitPointEventuallyPropagates

\* Not configurable.
CONSTRAINT StateConstraint
SPECIFICATION Spec