cmccabe commented on code in PR #12207:
URL: https://github.com/apache/kafka/pull/12207#discussion_r883156749
##########
metadata/src/main/java/org/apache/kafka/controller/QuorumFeatures.java:
##########
@@ -75,47 +76,50 @@ public static Map<String, VersionRange> defaultFeatureMap()
{
return features;
}
- Optional<VersionRange> quorumSupportedFeature(String featureName) {
- List<VersionRange> supportedVersions = new
ArrayList<>(quorumNodeIds.size());
- for (int nodeId : quorumNodeIds) {
- if (nodeId == this.nodeId) {
- // We get this node's features from "supportedFeatures"
- continue;
+ /**
+ * Return the reason a specific feature level is not supported, or
Optional.empty if it is supported.
+ *
+ * @param featureName The feature name.
+ * @param level The feature level.
+ * @return The reason why the feature level is not supported,
or Optional.empty if it is supported.
+ */
+ public Optional<String> reasonNotSupported(String featureName, short
level) {
Review Comment:
the problem with "check" or "validate" is that it sort of implies that we
throw an exception if the validation fails, whereas this returns a reason
string.
I liked avoiding exceptions here since it avoids messing with questions like
what is the exception type and how do you pull out the string (which is what
you really want)
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]