phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-3067) Phoenix metrics system should not be started in pseudo-cluster mode
Date Tue, 12 Jul 2016 19:01:20 GMT

    [ 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)

Mime
View raw message