Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Incompatible change
-
FairScheduler does not allow queue names with leading or tailing spaces or empty sub-queue names anymore.
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.
static final Splitter Q_SPLITTER = Splitter.on('.').omitEmptyStrings().trimResults();
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.
Attachments
Attachments
Issue Links
- duplicates
-
YARN-3843 Fair Scheduler should not accept apps with space keys as queue name
- Resolved