-
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
Use chunked_fifo
to retrieve deltas from controller_backend
#11691
Conversation
d1ea71c
to
7928552
Compare
compilation failed. |
@@ -2758,9 +2758,14 @@ admin_server::get_reconfigurations_handler(std::unique_ptr<ss::http::request>) { | |||
reconfiguration_states.error()), | |||
ss::http::reply::status_type::service_unavailable); | |||
} | |||
// we are forced to use shared pointer as underlying chunked_fifo is not |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering what is forcing a copy in the first place, all arguments are moved in the underlying stream function. smells like a missing mutable
somewhere and the const ness is forcing a copy. 🤔
Signed-off-by: Michal Maslanka <michal@redpanda.com>
Deltas were previously stored as a vector per `ntp`. Deltas access pattern (iteration, inserting and popping elements from back and from the end) makes it perfect candidate for `std::list` usage. The `std::deque` doesn't use large contiguous allocation so will not account for the memory fragmentation. Signed-off-by: Michal Maslanka <michal@redpanda.com>
Using `ss::chunked_fifo` to return deltas processed by controller backend. Previously used `std::vector` may lead to large allocations as it allocated large chunks of contiguous memory. Fixes: redpanda-data#11673 Signed-off-by: Michal Maslanka <michal@redpanda.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like a force push with rebase.
/ci-repeat 1 |
/backport v23.1.x |
Failed to run cherry-pick command. I executed the commands below:
|
Operator added in redpanda-data#11691 Signed-off-by: Ben Pope <ben@redpanda.com>
Operator added in redpanda-data#11691 Signed-off-by: Ben Pope <ben@redpanda.com> (cherry picked from commit a2b9966)
Operator added in redpanda-data#11691 Signed-off-by: Ben Pope <ben@redpanda.com> (cherry picked from commit a2b9966)
Using
ss::chunked_fifo
to return deltas processed by controllerbackend. Previously used
std::vector
may lead to large allocations asit allocated large chunks of contiguous memory.
Fixes: #11673
Backports Required
Release Notes