Status

Current state: Under Discussion

Discussion thread: https://lists.apache.org/x/thread.html/rb942356f03c4a1e3d313eb20548129f6c508777a327935af169c60d2@%3Cdev.kafka.apache.org%3E

JIRA: KAFKA-12519 - Getting issue details... STATUS

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

Motivation

In KIP-444 we refactored the structure of the built-in metrics in Streams. In order to allow users to still use the old metrics structure, we introduced the Streams config built.in.metrics.version with values 0.10.0-2.4 and latest. Maintaining the code for the old and the new structure of the built-in metrics is error-prone and probably not necessary anymore since enough time passed since KIP-444 was released. Moreover, new metrics that were added after KIP-444 only conform to the new structure, so that if users still rely on the old built-in metrics structure they have to deal with a mix of the old and the new structure.

We propose to remove the config value 0.10.0-2.4 for Streams config built.in.metrics.version in AK 3.0.0.

Public Interfaces

Remove

public static final String METRICS_0100_TO_24 = "0.10.0-2.4";

from StreamsConfig.java.

Proposed Changes

We plan to remove value 0.10.0-2.4 of config built.in.metrics.version in AK 3.0.0.

We remove the config value without first deprecating it in Java code because we effectively deprecated it 2.5 by choosing latest as the default value for built.in.metrics.version and stating in KIP-444 that 0.10.0-2.4 was introduced to allow users having a grace period of changing their corresponding monitoring. For future additions of new values to this config, we should improve by officially deprecating values other than latest right away when the values are introduced.

Compatibility, Deprecation, and Migration Plan

Config value 0.10.0-2.4 of config built.in.metrics.version will be removed in AK 3.0.0. Users that set 0.10.0-2.4 need to switch to config value latest and adapt their monitoring.

Rejected Alternatives

  • Removing the complete config built.in.metrics.version: The config can still be used for future changes to the built-in metrics.
  • Deprecating config value 0.10.0-2.4: The config value was effectively deprecated when it was introduced, so that we think we can remove the config value right away without causing too much troubles.
  • No labels