Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current state: VotingAccepted

Discussion thread: https://lists.apache.org/thread/kc87jkgyvf9x7nwmgwrhx6fs6w0tqymj

...

  • an UNSUPPORTED_VERSION  error if the cluster's MetadataVersion does not support UnregisterControllerRecord 
  • a BROKERCONTROLLER_ID_NOT_REGISTERED  error if no registration exists for the requested controller ID. This is similar to the BROKER_ID_NOT_REGISTERED error in the case of brokers.
  • a NOT_CONTROLLER  error if the request does not arrive at the active controller
  • an INVALID_REQUEST error if the request arrives at the active controller. This is known to be a "mistaken" request, as it is expected controllers are not running when they are unregistered. See the User Experience for more details.

UnregisterControllerResponse

...

This approach would be one way existing clusters could support unregistering stale controller registrations without updating the MV. However, the main issue with this approach is that it is unsafe. A user who unregisters a controller before updating the software versions on all controllers to support this feature would crash the controllers with an older software version.

Additionally, combined mode deployments where the broker and controller use the same ID make reusing the same metadata record for unregistering both brokers and controller too complex compared to introducing a new record for unregistering controllers.

Non-durably unregister controllers

...