Open jcsp opened 3 years ago
Update: the redirection was improved in https://github.com/redpanda-data/redpanda/pull/3571 so that it no longer assumes the listen address is the RPC address. The port assumption is still in there.
The full solution to this may be introducing an advertized_admin_api or similar configuration + storing it in members_table like we do for other listeners, or remove the need for redirects by making all the controller frontends implement RPCs so that they're callable on every node.
This is a follow-on from changes made in https://github.com/vectorizedio/redpanda/pull/2806 (specifically at https://github.com/vectorizedio/redpanda/pull/2806/files#diff-73d28bb5261bfea6d41375856d8a2f5c2d3e9ca85cf813e275539ddfdf71f0a7R252)
Because nodes don't currently publish their advertised admin API endpoints to the controller, we make a guess that: A) All nodes use the same port for the admin API B) the rpc address they advertise will be the same as the address of their admin API endpoint
Neither of these are necessarily true, but highly likely in real life systems. Usually we wouldn't fudge something like this but in this case it wasn't a regression, because prior to redirects clients would just get a 400 if they hit the wrong node -- now they get a redirect which could be to a bad address if their system is configured in an unusual way.
JIRA Link: CORE-776