-
Notifications
You must be signed in to change notification settings - Fork 593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rptest
: add log_compaction_test.py
#24187
Conversation
2703ac2
to
3f68c4a
Compare
def5f7d
to
fc193af
Compare
fc193af
to
379a1e1
Compare
379a1e1
to
119dd18
Compare
119dd18
to
8243701
Compare
8243701
to
6df7e4b
Compare
the below tests from https://buildkite.com/redpanda/redpanda/builds/58820#019369b8-b74d-4c4f-9b4a-3da1ca75260f have failed and will be retried
the below tests from https://buildkite.com/redpanda/redpanda/builds/59112#01938800-b170-476c-89c6-a08ca0f89f11 have failed and will be retried
the below tests from https://buildkite.com/redpanda/redpanda/builds/59290#019397a1-424a-44d4-8ee9-8d90c6545947 have failed and will be retried
the below tests from https://buildkite.com/redpanda/redpanda/builds/59376#01939c49-56cd-4534-8cca-6e8c29cafbad have failed and will be retried
|
6df7e4b
to
43595ba
Compare
eek! |
This is a segment closed with a Eek indeed. I believe this is a bug. |
af626f5
to
449e137
Compare
1500 CI runs pays off - added commit to deal with the above. |
Interesting. Is this a case where we would have been better off not falling back to old style compaction after sliding window (is that's whats happening there with self compact)? |
/ci-repeat 5 |
Segments that may have tombstone records in them should still be considered eligible for self compaction. An early return statement was missing a check for this condition. Add it so that tombstones will be properly removed for a segment eligible for removal. Also adjusts a `vassert()` to account for this case.
A metric that measures the number of segments that have been cleanly compacted (i.e, had their keys de-duplicated with all previous segments before them to the front of the log).
A metric that measures the number of segments that have been verified through the compaction process to be tombstone free.
A metric that measures the number of rounds of sliding window compaction that have been driven to completion.
See redpanda-data/kgo-verifier#60, which added `--tombstone-probability`, `--compacted`, `--validate-latest-values` as input parameters.
Also add an error message to the `wait_until()` call.
449e137
to
d238b1c
Compare
(oops. only half of my commit got added last night. that's what I get for working late)
No, there's only two places where tombstones are removed, during self compaction de-duplication and sliding window deduplication. Therefore the tombstones for this case would have been removed if more sliding window rounds took place in the future, but since we produce and then stop with this test, it's expected that self compaction is going to remove the rest of the tombstones before the consumer sees them (which wouldn't happen before this fix) |
Retry command for Build#59376please wait until all jobs are finished before running the slash command
|
/ci-repeat 5 |
Where all the failures for other tests? |
/ci-repeat 5 |
Looking good |
/backport v24.3.x |
Failed to create a backport PR to v24.3.x branch. I tried:
|
Serves as a stress test for compaction and tombstone removal.
Depends on changes made in redpanda-data/kgo-verifier#60, and so the commit SHA for
ducktape-deps/kgo-verifier
has been updated (CI will be red if this isn't merged yet)Backports Required
Release Notes
Bug Fixes
Improvements
_segment_cleanly_compacted
metric tosegment::probe
._segments_marked_tombstone_free
metric tosegment::probe
._num_rounds_window_compaction
metric tosegment::probe
.