- Replay code
- A number that fixes which faults a run applies, so a later run gets the same faults. Engineers call it a seed. Whether the rest of the run matches depends on the mode, exact or screening. The recording carries it, and I use it to run that failure again.
- Promise
- Something your software has to keep, such as "no saved write is ever lost" or "only one leader at a time". You and I agree on the promises, and I check them after each failure.
- Failure
- Something that goes wrong underneath your software: the power is cut, a disk says saved before it is, or the network between servers is cut.
- Network split
- A cut between servers, so each side sees only part of the system. Engineers call it a partition.
- A disk that says saved before it is
- A disk that says a write is stored when it is only in memory. A real disk with a cache does this, and a power cut then loses the write. Engineers call it a lying disk.
- Container image
- Your software packaged to run on Linux. I run your image as it is. A docker-compose file lists several images.
- Saved starting point, or snapshot
- A snapshot, as engineers say: a saved starting point of a running virtual computer. A program can be restored from it again and again and start from the same place.
- Recording
- The saved account of what happened in a run: a folder of plain files and one web page that opens in a browser, made with molina bundle page. You read it and check it by its hashes, the short fingerprints of its data.
- Smallest set of failures
- The smallest the shrinker reached against the runs made, found by taking failures out one at a time while the promise still breaks, and not shown to be the smallest there is. I give it when a failure can be reduced: for a compose file, molina campaign --compose reduces an isolate (a cut between servers) and a stop.
- Screening mode and exact mode
- A screening replay runs the failure again and compares what was found, by kind and place. It compares no files and no timing. An exact replay compares the run byte for byte. Exact mode refuses some setups today.
- Flush
- A request that tells a disk to make its recent writes permanent. A disk that says saved before it is answers yes without doing it.
- Seed
- The engineers' word for a replay code, a number that fixes which faults a run applies.
- Saved write
- One write that a database confirmed as saved. Engineers call it a commit.
- Thread
- One line of work inside a program. Racing threads work on the same data at the same time, and the answer depends on which one gets there first.
- Node and cluster
- A node is one server in a group. A cluster is a group of servers that work together.
- Linux
- The operating system that most servers run. Molina runs software that is packaged for it.
- GPU
- A graphics processing unit, which is a graphics card. Software that needs one cannot run in Molina yet.
- UTC
- Coordinated Universal Time, one standard clock, so a time reads the same everywhere.
- .NET and Akka.NET
- .NET is a platform for writing software. Akka.NET is a library on it for servers that work together.
- Postgres and QuestDB
- Two real databases that I ran Molina on. Each record says what its result shows and what it does not.
- NATS
- A messaging system that servers use to send each other messages. A pair of NATS servers is one of the runs where replay matched exactly.