You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Status

Current state: Under discussion

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

JIRA: TODO

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

Currently, there exists a kafka.server:type=MetadataLoader,name=CurrentMetadataVersion  metric which tells the operator the metadata version feature level for every node in a cluster. However, now that there several features with support beyond the metadata.version  feature, adding a metric to display those features' levels would be helpful for monitoring upgrade/downgrade scenarios for clusters using those features.

Public Interfaces

Monitoring

Add a metric for each production feature (i.e. kraft.version , transaction.version , group.version , eligible.leader.replicas.version , and share.version ).

This can be accomplished via one generic "feature level" metric that is tagged by feature. Using a generic metric allows for new production features to automatically expose their feature level going forward. 

NameTypeDescription
kafka.server:type=MetadataLoader,name=FeatureLevel,featureName=XIntegerThe value of the feature level for a feature named "X".

The default value of this metric should be the default value of the feature.

Compatibility, Deprecation, and Migration Plan

We might want to deprecate the kafka.server:type=MetadataLoader,name=CurrentMetadataVersion metric since this per-feature tagged metric can also expose the current metadata version.

Test Plan

We will add junit tests to verify the new metrics.

Rejected Alternatives

If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.

  • No labels