Skip to content
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

Improve handling of progress conditions in non-polling fetch #19930

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

ballard26
Copy link
Contributor

The use of ss::when_any and ss::promise<> for each progress condition resulted in unneeded allocations as well as expensive broken promises and exception propagation. This commit changes all progress conditions to signal the same ss::condition_variable instead. This simplifies their handling and greatly reduces their cost.

The profile for progress conditions before this PR;
image

And then after this PR;
image

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v24.1.x
  • v23.3.x
  • v23.2.x

Release Notes

  • none

The use of `ss::when_any` and `ss::promise<>` for each progress
condition resulted in unneeded allocations as well as expensive broken
promises and exception propagation. This commit changes all progress
conditions to signal the same `ss::condition_variable` instead. This
simplifies their handling and greatly reduces their cost.
@vbotbuildovich
Copy link
Collaborator

@vbotbuildovich
Copy link
Collaborator

vbotbuildovich commented Jun 20, 2024

new failures in https://buildkite.com/redpanda/redpanda/builds/50475#01903423-12e4-4950-bdd0-0a5cbe7823d7:

"rptest.tests.maintenance_test.MaintenanceTest.test_exclusive_maintenance.use_rpk=False"

new failures in https://buildkite.com/redpanda/redpanda/builds/50475#01903423-12e2-459e-ba79-81b4d832cc07:

"rptest.tests.raft_availability_test.RaftAvailabilityTest.test_leadership_transfer"

@ballard26
Copy link
Contributor Author

/ci-repeat 5

@ballard26
Copy link
Contributor Author

All failures look to be known issues;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants