kowshik commented on a change in pull request #9001:
URL: https://github.com/apache/kafka/pull/9001#discussion_r468111300



##########
File path: core/src/main/scala/kafka/server/FinalizedFeatureCache.scala
##########
@@ -82,18 +110,54 @@ object FinalizedFeatureCache extends Logging {
         " The existing cache contents are %s").format(latest, 
oldFeatureAndEpoch)
       throw new FeatureCacheUpdateException(errorMsg)
     } else {
-      val incompatibleFeatures = 
SupportedFeatures.incompatibleFeatures(latest.features)
+      val incompatibleFeatures = 
brokerFeatures.incompatibleFeatures(latest.features)
       if (!incompatibleFeatures.empty) {
         val errorMsg = ("FinalizedFeatureCache update failed since feature 
compatibility" +
           " checks failed! Supported %s has incompatibilities with the latest 
%s."
-          ).format(SupportedFeatures.get, latest)
+          ).format(brokerFeatures.supportedFeatures, latest)

Review comment:
       Good question. The existing behavior is that it shuts itself down, as 
triggered by this LOC: 
https://github.com/apache/kafka/blob/89a3ba69e03acbe9635ee1039abb567bf0c6631b/core/src/main/scala/kafka/server/FinalizedFeatureChangeListener.scala#L154-L156.
 The reason to do it is that an incompatible broker can potentially do harmful 
things to a cluster (because max version level upgrades are used for breaking 
changes).




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to