wernerdv commented on code in PR #19446: URL: https://github.com/apache/kafka/pull/19446#discussion_r2065795964
########## streams/src/test/java/org/apache/kafka/streams/processor/internals/metrics/StreamsMetricsImplTest.java: ########## @@ -509,24 +507,30 @@ public void shouldReturnSameMetricIfAlreadyCreated() { final MetricName metricName = new MetricName(METRIC_NAME1, STATE_STORE_LEVEL_GROUP, DESCRIPTION1, STORE_LEVEL_TAG_MAP); final MetricConfig metricConfig = new MetricConfig().recordLevel(INFO_RECORDING_LEVEL); - final Metrics metrics = new Metrics(metricConfig); - assertNull(metrics.metric(metricName)); - final KafkaMetric kafkaMetric = metrics.addMetricIfAbsent(metricName, metricConfig, VALUE_PROVIDER); - assertEquals(kafkaMetric, metrics.addMetricIfAbsent(metricName, metricConfig, VALUE_PROVIDER)); + try (Metrics metrics = new Metrics(metricConfig)) { + assertNull(metrics.metric(metricName)); + final KafkaMetric kafkaMetric = metrics.addMetricIfAbsent(metricName, metricConfig, VALUE_PROVIDER); + assertEquals(kafkaMetric, metrics.addMetricIfAbsent(metricName, metricConfig, VALUE_PROVIDER)); + } } @Test public void shouldCreateMetricOnceDuringConcurrentMetricCreationRequest() throws InterruptedException { final MetricName metricName = new MetricName(METRIC_NAME1, STATE_STORE_LEVEL_GROUP, DESCRIPTION1, STORE_LEVEL_TAG_MAP); final MetricConfig metricConfig = new MetricConfig().recordLevel(INFO_RECORDING_LEVEL); - final Metrics metrics = new Metrics(metricConfig); - assertNull(metrics.metric(metricName)); - final AtomicReference<KafkaMetric> metricCreatedViaThread1 = new AtomicReference<>(); - final AtomicReference<KafkaMetric> metricCreatedViaThread2 = new AtomicReference<>(); - - final Thread thread1 = new Thread(() -> metricCreatedViaThread1.set(metrics.addMetricIfAbsent(metricName, metricConfig, VALUE_PROVIDER))); - final Thread thread2 = new Thread(() -> metricCreatedViaThread2.set(metrics.addMetricIfAbsent(metricName, metricConfig, VALUE_PROVIDER))); + final AtomicReference<KafkaMetric> metricCreatedViaThread1; + final AtomicReference<KafkaMetric> metricCreatedViaThread2; + final Thread thread1; + final Thread thread2; + try (Metrics metrics = new Metrics(metricConfig)) { + assertNull(metrics.metric(metricName)); + metricCreatedViaThread1 = new AtomicReference<>(); + metricCreatedViaThread2 = new AtomicReference<>(); Review Comment: Returned declaration and initialization to a single line. This was not a required change, the most important thing is to use try-with-resources for `metrics` :) -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org