Colin McCabe created KAFKA-16757:
------------------------------------
Summary: Fix broker re-registration issues around MV 3.7-IV2
Key: KAFKA-16757
URL: https://issues.apache.org/jira/browse/KAFKA-16757
Project: Kafka
Issue Type: Bug
Reporter: Colin McCabe
Assignee: Colin McCabe
When upgrading from a MetadataVersion older than 3.7-IV2, we need to resend the
broker registration, so that the controller can record the storage directories.
The current code for doing this has several problems, however. One is that it
tends to trigger even in cases where we don't actually need it. Another is that
when re-registering the broker, the broker is marked as fenced.
This PR moves the handling of the re-registration case out of
BrokerMetadataPublisher and into BrokerRegistrationTracker. The re-registration
code there will only trigger in the case where the broker sees an existing
registration for itself with no directories set. This is much more targetted
than the original code.
Additionally, in ClusterControlManager, when re-registering the same broker, we
now preserve its fencing and shutdown state, rather than clearing those. (There
isn't any good reason re-registering the same broker should clear these
things... this was purely an oversight.) Note that we can tell the broker is
"the same" because it has the same IncarnationId.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)