-
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
[v24.1.x] [CORE-7803] Audit Log Manager: Refactoring - use and reduce retries. #23868
Merged
oleiman
merged 5 commits into
redpanda-data:v24.1.x
from
oleiman:vbotbuildovich/backport-23775-v24.1.x-221
Oct 22, 2024
Merged
[v24.1.x] [CORE-7803] Audit Log Manager: Refactoring - use and reduce retries. #23868
oleiman
merged 5 commits into
redpanda-data:v24.1.x
from
oleiman:vbotbuildovich/backport-23775-v24.1.x-221
Oct 22, 2024
Conversation
This file contains 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
Useful in audit_log_manager as well as transform logging Signed-off-by: Oren Leiman <oren.leiman@redpanda.com> (cherry picked from commit 090f41b) Conflicts: No bazel anywhere
And adds make_batch_of_one Signed-off-by: Oren Leiman <oren.leiman@redpanda.com> (cherry picked from commit 11b8a23)
Signed-off-by: Oren Leiman <oren.leiman@redpanda.com> (cherry picked from commit 37414a7)
We need these for sorting out which partitions are locally led Signed-off-by: Oren Leiman <oren.leiman@redpanda.com> (cherry picked from commit 5c7ed51) Conflicts: audit_log_manager.cc: kafka/server/handlers/topics/types.h
Previous implementation used a very high value for retries on the internal kafka client, which prevents the client from recovering certain types of errors. Instead, we batch up drained records on the manager side, allowing us to hold a copy of each batch in memory and retry failed produce calls from "scratch". This also allows us to be _much_ more aggressive about batching. The internal kafka client will calculate a destination partition for each record, round robin style over the number of partitions. In the new scheme, we shoot for a maximally sized batch first, then select a destination, still round-robin style, but biasing heavily toward locally led partitions. In this way, given the default audit per-shard queue limit and default max batch size (both 1MiB), the most common drain operation should result in exactly one produce request. Signed-off-by: Oren Leiman <oren.leiman@redpanda.com> (cherry picked from commit e5fd326) Conflicts: No bazel anywhere
oleiman
force-pushed
the
vbotbuildovich/backport-23775-v24.1.x-221
branch
from
October 21, 2024 22:22
30c139c
to
7e4fef8
Compare
ducktape was retried in https://buildkite.com/redpanda/redpanda/builds/56960#0192b170-fd36-45ca-a6f6-a701f861f9f2 |
BenPope
approved these changes
Oct 22, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
Backport of PR #23775
Closes #23863