[
https://issues.apache.org/jira/browse/KAFKA-5987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ewen Cheslack-Postava resolved KAFKA-5987.
------------------------------------------
Resolution: Fixed
Fix Version/s: 1.1.0
1.2.0
Issue resolved by pull request 3985
[https://github.com/apache/kafka/pull/3985]
> Kafka metrics templates used in document generation should maintain order of
> tags
> ---------------------------------------------------------------------------------
>
> Key: KAFKA-5987
> URL: https://issues.apache.org/jira/browse/KAFKA-5987
> Project: Kafka
> Issue Type: Improvement
> Components: clients
> Affects Versions: 1.0.0
> Reporter: Randall Hauch
> Assignee: Randall Hauch
> Priority: Blocker
> Fix For: 1.2.0, 1.1.0, 1.0.1
>
>
> KAFKA-5191 recently added a new {{MetricNameTemplate}} that is used to create
> the {{MetricName}} objects in the producer and consumer, as we as in the
> newly-added generation of metric documentation. The {{MetricNameTemplate}}
> and the {{Metric.toHtmlTable}} do not maintain the order of the tags, which
> means the resulting HTML documentation will order the table of MBean
> attributes based upon the lexicographical ordering of the MBeans, each of
> which uses the lexicographical ordering of its tags. This can result in the
> following order:
> {noformat}
> kafka.connect:type=sink-task-metrics,connector={connector},partition={partition},task={task},topic={topic}
> kafka.connect:type=sink-task-metrics,connector={connector},task={task}
> {noformat}
> However, if the MBeans maintained the order of the tags then the
> documentation would use the following order:
> {noformat}
> kafka.connect:type=sink-task-metrics,connector={connector},task={task}
> kafka.connect:type=sink-task-metrics,connector={connector},task={task},topic={topic},partition={partition}
> {noformat}
> This would be more readable, and the code that is creating the templates
> would have control over the order of the tags.
> To maintain order, {{MetricNameTemplate}} should used a {{LinkedHashSet}} for
> the tags, and the {{Metrics.toHtmlTable}} method should also use a
> {{LinkedHashMap}} when building up the tags used in the MBean name.
> Note that JMX MBean names use {{ObjectName}} that does not maintain order, so
> this change should have no impact on JMX MBean names.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)