ct stress#31050
Draft
nvartolomei wants to merge 12 commits into
Draft
Conversation
50eda2e to
52b9b1f
Compare
52b9b1f to
eb6b3d9
Compare
Produced records now carry a magic tag, a per-producer nonce and sequence, the target partition, and a CRC over the body. The range checker decodes them and asserts each record is intact, one of ours, served from the partition it was written to, and in per-producer sequence order -- instead of only checking that offsets are contiguous. parallel_driver_consume now runs the same validating read as the anytime checker rather than fetching data and discarding it. Add a manual check_offsets command that replays a fixed [o1,o2) range verbatim, for repeating a read across rollbacks under the multiverse debugger, and a produce-side liveness assertion so a run that never writes cannot pass every safety check vacuously.
Register a ProducerOnDataLossDetected hook so an out-of-order sequence or unknown-producer-id that franz-go can't attribute to benign prefix truncation is recorded as an Antithesis reachability failure instead of being silently reset and produced through.
Redpanda opens config files with O_DIRECT. Under Antithesis a bind mount is backed by overlay-over-squashfs, which mishandles O_DIRECT (close() returns EINVAL), so reading the bootstrap config directly off its mount crashes the broker at startup. Ship the config under scripts/ and copy it onto the container's writable layer via an entrypoint wrapper before starting Redpanda; the writable layer handles O_DIRECT. This removes the need for the --kernel-page-cache workaround, restoring the production O_DIRECT path.
Add a `faults` block that packaging renders into the tenant custom.* launch params, making the manifest the source of truth for the fault posture rather than the webhook defaults. Enable cpu modulation, scope node hang/throttle to the brokers and the workload, and send node termination and network-fault exclusion explicitly empty -- nothing is terminated and minio still sees network faults, exercising object-storage disruption.
Send the manifest `name` (was `description`) as antithesis.test_name so runs are identifiable in reports instead of all showing the endpoint's "Basic Test". Add --source (antithesis.source) grouping property history and --ephemeral/--no-ephemeral (antithesis.is_ephemeral): default to ephemeral for ad-hoc runs, require --source for persistent ones.
partitionBounds and readRange hardcoded foo; the compacted-topic workload reads its own topic through the same helpers.
ctc fuzzes compaction with a convergent key/value model: producers flock a bucket of keys, produce ascending counter values, and commit progress to a tracker file only once every record is acked, so the latest surviving record per key must never fall below the committed counter. The sweeper asserts what survives compaction -- in-order offsets, record integrity, per-producer produce order -- and that compaction visibly runs (offset gaps); holding survivors against the tracker is left to a later checker. The cloud-topics compaction interval drops to 10s so short runs see many cycles.
eb6b3d9 to
c81e974
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backports Required
Release Notes