[ https://issues.apache.org/jira/browse/PHOENIX-3067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15373474#comment-15373474 ]
Enis Soztutar commented on PHOENIX-3067: ---------------------------------------- Since there is no API to check whether metrics system is initialized or not, or whether we are in the server side or client side, a simple check to see whether we are in mini-cluster mode should do the trick. MetricsSystemImpl.init(): {code} public synchronized MetricsSystem init(String prefix) { if (monitoring && !DefaultMetricsSystem.inMiniClusterMode()) { LOG.warn(this.prefix +" metrics system already initialized!"); return this; } this.prefix = checkNotNull(prefix, "prefix"); ++refCount; if (monitoring) { // in mini cluster mode LOG.info(this.prefix +" metrics system started (again)"); return this; } {code} > Phoenix metrics system should not be started in pseudo-cluster mode > ------------------------------------------------------------------- > > Key: PHOENIX-3067 > URL: https://issues.apache.org/jira/browse/PHOENIX-3067 > Project: Phoenix > Issue Type: Bug > Reporter: Enis Soztutar > Assignee: Enis Soztutar > Fix For: 4.9.0 > > > Phoenix tracing piggy-backs on the metrics system by specifying a > SpanReceiver which is also a MetricsSource (TraceMetricsSource). > This works differently on client side versus server side. The hadoop metrics > system should only be initialized once, and can only have a single prefix > (hbase or phoenix, etc). We configure the metric sink through > hadoop-metrics2.properties differently in client side versus server side [1]. > Hadoop metric system is designed so that if it is initialized already with > some prefix (like hbase), re-initializing it again will be ignored unless it > is in "mini-cluster mode". We do not check whether the metrics is already > initialized from {{Metrics.java}} and blindly call > {{DefaultMetricsSystem.instance().init("phoenix")}} which works as long as we > are in distributed mode. Otherwise, the metrics sinks do not work. > [1] https://phoenix.apache.org/tracing.html -- This message was sent by Atlassian JIRA (v6.3.4#6332)