Skip to content

Disable "client.metrics.enabled" by default #698

@wuchong

Description

@wuchong

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

Currently, client.metrics.enabled is enabled, but the reported metrics are never used. We can disable the client metric by default to reduce costs. And besides, avoid the following warning logs in tests.

    1886 00:02:40,224 [ForkJoinPool-8-worker-1] WARN  com.alibaba.fluss.metrics.jmx.JMXReporter                    [] - A metric with the name com.alibaba.fluss.client.netty.usedDirectMemory:client_id= was already registered.
    1887 javax.management.InstanceAlreadyExistsException: com.alibaba.fluss.client.netty.usedDirectMemory:client_id=
    1888     at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) ~[?:1.8.0_432]
    1889     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898) ~[?:1.8.0_432]
    1890     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966) ~[?:1.8.0_432]
    1891     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900) ~[?:1.8.0_432]
    1892     at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324) ~[?:1.8.0_432]
    1893     at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) ~[?:1.8.0_432]
    1894     at com.alibaba.fluss.metrics.jmx.JMXReporter.notifyOfAddedMetric(JMXReporter.java:144) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1895     at com.alibaba.fluss.metrics.registry.MetricRegistryImpl.forAllReporters(MetricRegistryImpl.java:268) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1896     at com.alibaba.fluss.metrics.registry.MetricRegistryImpl.register(MetricRegistryImpl.java:215) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1897     at com.alibaba.fluss.metrics.groups.AbstractMetricGroup.addMetric(AbstractMetricGroup.java:293) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1898     at com.alibaba.fluss.metrics.groups.AbstractMetricGroup.gauge(AbstractMetricGroup.java:239) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1899     at com.alibaba.fluss.rpc.netty.NettyMetrics.registerNettyMetrics(NettyMetrics.java:36) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1900     at com.alibaba.fluss.rpc.netty.client.NettyClient.<init>(NettyClient.java:97) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1901     at com.alibaba.fluss.rpc.RpcClient.create(RpcClient.java:42) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1902     at com.alibaba.fluss.client.FlussConnection.<init>(FlussConnection.java:72) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1903     at com.alibaba.fluss.client.FlussConnection.<init>(FlussConnection.java:62) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1904     at com.alibaba.fluss.client.ConnectionFactory.createConnection(ConnectionFactory.java:54) ~[fluss-client-0.7-SNAPSHOT.jar:0.7-SNAPSHOT]
    1905     at com.alibaba.fluss.flink.source.enumerator.FlinkSourceEnumerator.start(FlinkSourceEnumerator.java:179) ~[classes/:?]
    1906     at com.alibaba.fluss.flink.source.enumerator.FlinkSourceEnumeratorTest.testDiscoverPartitionsPeriodically(FlinkSourceEnumeratorTest.java:397) ~[test-classes/:?]
    1907     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_432]
    1908     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_432]
    1909     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_432]
    1910     at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_432]
    1911     at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727) ~[junit-platform-commons-1.9.1.jar:1.9.1]
    1912     at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1913     at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1914     at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1915     at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1916     at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1917     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1918     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1919     at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1920     at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1921     at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1922     at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1923     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1924     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1925     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1926     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.9.1.jar:1.9.1]
    1927     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1928     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1929     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) ~[junit-jupiter-engine-5.9.1.jar:5.9.1]
    1930     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) ~[junit-platform-engine-1.9.1.jar:1.9.1]
    1931     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) ~[junit-platform-engine-1.9.1.jar:1.9.1]
    1932     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) ~[junit-platform-engine-1.9.1.jar:1.9.1]

Solution

No response

Anything else?

No response

Willingness to contribute

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions