will62794 / mongo-repl-reconfig

TLA+ spec of reconfiguration in MongoDB replication.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

Modeling reconfiguration in MongoDB replication protocol.

Model Checking

models/election_safety: Contains models that check ElectionSafety invariant with varying versions of the protocol. Each model enables/disables different pre-conditions in the definition of 'ConfigIsSafe'. Tries to demonstrate the minimum necessary rules of the protocol required to satisfy election safey i.e. no two leaders elected in the same term.

models/never_rollback_committed: Contains models that check NeverRollbackCommitted property with varying versions of the protocol. Each model enables/disables different pre-conditions in the definition of 'ConfigIsSafe'. Tries to demonstrate the rules needed for protocol to satisfy NeverRollbackCommitted, independently of ElectionSafety.

Example command to run one of the models:

java tlc2.TLC -workers 4 -config models/never_rollback_committed/MC_3_only_config_quorum_check.cfg MongoReplReconfig.tla

About

TLA+ spec of reconfiguration in MongoDB replication.


Languages

Language:TLA 100.0%