Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-16466

QuorumController is swallowing some exception messages

    XMLWordPrintableJSON

Details

    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

          Activity

            People

              ilyazr Ilya Zakharov
              davidarthur David Arthur
              Igor Soarez Igor Soarez
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: