AMBARI-18185 : Selecting one host when topN is set, throws an error. (avijayan)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4a099342 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4a099342 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4a099342 Branch: refs/heads/branch-dev-patch-upgrade Commit: 4a099342c1b5a8c1b7dbf77fda3ef0f24bfd26cd Parents: 1b89d68 Author: Aravindan Vijayan <avija...@hortonworks.com> Authored: Tue Sep 13 20:16:03 2016 -0700 Committer: Aravindan Vijayan <avija...@hortonworks.com> Committed: Wed Sep 14 15:03:33 2016 -0700 ---------------------------------------------------------------------- .../metrics/timeline/HBaseTimelineMetricStore.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/4a099342/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStore.java ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStore.java b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStore.java index 60ebdcf..a6f8e2f 100644 --- a/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStore.java +++ b/ambari-metrics/ambari-metrics-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/HBaseTimelineMetricStore.java @@ -228,7 +228,8 @@ public class HBaseTimelineMetricStore extends AbstractService implements Timelin .grouped(groupedByHosts); if (topNConfig != null) { - if (TopNCondition.isTopNHostCondition(metricNames, hostnames) || TopNCondition.isTopNMetricCondition(metricNames, hostnames)) { + if (TopNCondition.isTopNHostCondition(metricNames, hostnames) ^ //Only 1 condition should be true. + TopNCondition.isTopNMetricCondition(metricNames, hostnames)) { conditionBuilder.topN(topNConfig.getTopN()); conditionBuilder.isBottomN(topNConfig.getIsBottomN()); Function.ReadFunction readFunction = Function.ReadFunction.getFunction(topNConfig.getTopNFunction());