You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "zhihai xu (JIRA)" <ji...@apache.org> on 2015/02/21 07:25:11 UTC

[jira] [Updated] (YARN-3241) Leading space, trailing space and empty sub queue name may cause MetricsException for fair scheduler

     [ https://issues.apache.org/jira/browse/YARN-3241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

zhihai xu updated YARN-3241:
----------------------------
    Description: 
Leading space, trailing space and empty sub queue name may cause MetricsException(Metrics source XXX already exists! ) when add application to FairScheduler.
The reason is because QueueMetrics parse the queue name different from the QueueManager.
QueueMetrics use Q_SPLITTER to parse queue name, it will remove Leading space and trailing space in the sub queue name, It will also remove empty sub queue name.
{code}
  static final Splitter Q_SPLITTER =
      Splitter.on('.').omitEmptyStrings().trimResults(); 
{code}
But QueueManager won't remove Leading space, trailing space and empty sub queue name.
This will cause out of sync between FSQueue and FSQueueMetrics.
QueueManager will think two queue names are different so it will try to create a new queue.
But FSQueueMetrics will treat these two queue names as same queue which will create "Metrics source XXX already exists!" MetricsException.

  was:
Leading space, trailing space and empty sub queue name may cause MetricsException(Metrics source XXX already exists! ) when add application to FairScheduler.
The reason is because QueueMetrics parse the queue name different from the QueueManager.
QueueMetrics use Q_SPLITTER to parse queue name, it will remove Leading space and trailing space in the sub queue name, It will also remove empty sub queue name.
{code}
  static final Splitter Q_SPLITTER =
      Splitter.on('.').omitEmptyStrings().trimResults(); 
{code}
But QueueManager won't remove Leading space, trailing space and empty sub queue name.
This will cause out of sync between FSQueue and FSQueueMetrics.
QueueManager will think two queue names are different so it will try to create a new queue.
But FSQueueMetrics will treat these two queue names as same which will create "Metrics source XXX already exists!" MetricsException.


> Leading space, trailing space and empty sub queue name may cause MetricsException for fair scheduler
> ----------------------------------------------------------------------------------------------------
>
>                 Key: YARN-3241
>                 URL: https://issues.apache.org/jira/browse/YARN-3241
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: scheduler
>            Reporter: zhihai xu
>            Assignee: zhihai xu
>
> Leading space, trailing space and empty sub queue name may cause MetricsException(Metrics source XXX already exists! ) when add application to FairScheduler.
> The reason is because QueueMetrics parse the queue name different from the QueueManager.
> QueueMetrics use Q_SPLITTER to parse queue name, it will remove Leading space and trailing space in the sub queue name, It will also remove empty sub queue name.
> {code}
>   static final Splitter Q_SPLITTER =
>       Splitter.on('.').omitEmptyStrings().trimResults(); 
> {code}
> But QueueManager won't remove Leading space, trailing space and empty sub queue name.
> This will cause out of sync between FSQueue and FSQueueMetrics.
> QueueManager will think two queue names are different so it will try to create a new queue.
> But FSQueueMetrics will treat these two queue names as same queue which will create "Metrics source XXX already exists!" MetricsException.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)