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

CORE-2378 id_allocator: do not forward requests beyond first hop #17892

Merged

Conversation

nvartolomei
Copy link
Contributor

A tight forward-to-leader loop has been discovered in a test where metadata about leader is out of date:
#17873.

Instead, we remove the forwarding from the request handler and do it only once on the original invoker. In
id_allocator_frontend::allocate_id we call
allocate_router::process_or_dispatch which will do the redirect and retry if the target node returns an error/does not respond. It also has backoff built in.

This is a fix very similar to one described in
#15953.

Fixes #17873

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
  • v23.3.x
  • v23.2.x

Release Notes

  • none

A tight forward-to-leader loop has been discovered in a test where
metadata about leader is out of date:
redpanda-data#17873.

Instead, we remove the forwarding from the request handler and do it
only once on the original invoker. In
`id_allocator_frontend::allocate_id` we call
`allocate_router::process_or_dispatch` which will do the redirect and
retry if the target node returns an error/does not respond. It also has
backoff built in.

This is a fix very similar to one described in
redpanda-data#15953.

Fixes redpanda-data#17873
@vbotbuildovich
Copy link
Collaborator

vbotbuildovich commented Apr 16, 2024

@rockwotj
Copy link
Contributor

Failure: #16198

@rockwotj rockwotj merged commit d313525 into redpanda-data:dev Apr 16, 2024
15 of 18 checks passed
@vbotbuildovich
Copy link
Collaborator

/backport v23.3.x

@dotnwat dotnwat changed the title id_allocator: do not forward requests beyond first hop CORE-2378 id_allocator: do not forward requests beyond first hop Apr 19, 2024
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.

CI Failure (key symptom) in WriteCachingFailureInjectionTest.test_unavoidable_data_loss
4 participants