Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.7.0
Description
In some cases in QuorumController, we throw exceptions from the control manager methods. Unless these are explicitly caught and handled, they will eventually bubble up to the ControllerReadEvent/ControllerWriteEvent an hit the generic error handler.
In the generic error handler of QuorumController, we examine the exception to determine if it is a fault or not. In the case where it is not a fault, we log the error like:
log.info("{}: {}", name, failureMessage);
which results in messages like
[2024-04-02 16:08:38,078] INFO [QuorumController id=3000] registerBroker: event failed with UnsupportedVersionException in 167 microseconds. (org.apache.kafka.controller.QuorumController:544)
In this case, the exception actually has more details in its own message
Unable to register because the broker does not support version 8 of metadata.version. It wants a version between 20 and 20, inclusive.
We should include the exception's message in the log output for non-fault errors as it includes very useful debugging info.
This was found while writing an integration test for KRaft migration where the brokers and controllers have a mismatched MetadataVersion.
Attachments
Issue Links
- links to