Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
public interface AppInfoMBean {
    String getVersion();
    String getCommitId();
    Long getStartTimeMs();
    String getClientId();
}

Also updated AppInfoParser to include a new field CLIENT_ID, so that when reading /kafka/kafka-version.properties, the clientId can be retrieved.

Code Block
languagejava
public class AppInfoParser {
    private static final Logger log = LoggerFactory.getLogger(AppInfoParser.class);
    private static final String VERSION;
    private static final String COMMIT_ID;
	private static final String CLIENT_ID;

    protected static final String DEFAULT_VALUE = "unknown";

    static {
        Properties props = new Properties();
        try (InputStream resourceStream = AppInfoParser.class.getResourceAsStream("/kafka/kafka-version.properties")) {
            props.load(resourceStream);
        } catch (Exception e) {
            log.warn("Error while loading kafka-version.properties: {}", e.getMessage());
        }
        VERSION = props.getProperty("version", DEFAULT_VALUE).trim();
        COMMIT_ID = props.getProperty("commitId", DEFAULT_VALUE).trim();
		CLIENT_ID = props.getProperty("clientId", DEFAULT_VALUE).trim();
    }

	public static String getClientId() {
        return CLIENT_ID;
    }
}

Compatibility, Deprecation, and Migration Plan

n/aSince this is a newly introduced behavior, there are no compatibility concerns.

Test Plan

change unit test or Integration test to verify the new method.

...