Expand description
The disaster-recovery drill’s side of a soak: the declared load run against the source cluster until it is lost, and the read-back of the cluster restored from the capture.
krabka-soak-drill is the command-line front end. Everything it does
besides parsing arguments and listening for SIGTERM is here, so the load
and the read-back are exercised against a live broker by the
soak_drill suite of krabka-broker.
Modules§
- cli
krabka-soak-drill’s command line, andrun, which carries a parsed one out. The binary only parses its arguments and listens forSIGTERM.
Structs§
- Objectives
- A disaster-recovery contract’s objectives and paths, in the units the drill’s shell side reads: whole milliseconds and topic shapes.
- Path
Shape - The topic a path writes to, as the drill must create it.
Functions§
- load_
contract - Read and validate the contract at
path, which must be adisaster_recoverycontract. - objectives
- The objectives and the paths of a disaster-recovery contract.
- probe
krabka-soak-drill probe: write one record totopic’spartitionand read it back, and describe the outcome in the line the gate checks for.- read_
back_ restored - Read every path of the restored cluster back, check each committing group’s restored offsets against its last commit before the boundary, and return the evidence the judge grades.
- read_
load - Read a load record that
run_loadwrote. - record_
load krabka-soak-drill load: run the load untillost, report each producer’s totals, and write the record toout.- record_
readback krabka-soak-drill readback: read the restored cluster back against the load recorded atload, report each path’s split at the boundary, and write the evidence toout.- run_
load - Run the contract’s load until
lostcompletes or the contract’s duration elapses, and record every acknowledgement and commit with its time. - write_
json - Write
valueas JSON through a rename, so a reader never sees half a file.