You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by xy...@apache.org on 2018/04/10 19:39:04 UTC
[26/50] [abbrv] hadoop git commit: YARN-8107. Give an informative
message when incorrect format is used in ATSv2 filter attributes. (Rohith
Sharma K S via Haibo Chen)
YARN-8107. Give an informative message when incorrect format is used in ATSv2 filter attributes. (Rohith Sharma K S via Haibo Chen)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/024d7c08
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/024d7c08
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/024d7c08
Branch: refs/heads/HDFS-7240
Commit: 024d7c08704e6a5fcc1f53a8f56a44c84c8d5fa0
Parents: b17dc9f
Author: Haibo Chen <ha...@apache.org>
Authored: Fri Apr 6 09:37:21 2018 -0700
Committer: Haibo Chen <ha...@apache.org>
Committed: Fri Apr 6 09:39:01 2018 -0700
----------------------------------------------------------------------
.../reader/TimelineParserForCompareExpr.java | 7 +++++-
.../reader/TimelineParserForEqualityExpr.java | 7 +++++-
.../TestTimelineReaderWebServicesUtils.java | 25 ++++++++++++++++++++
3 files changed, 37 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/024d7c08/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForCompareExpr.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForCompareExpr.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForCompareExpr.java
index 1b020d9..a582956 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForCompareExpr.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForCompareExpr.java
@@ -282,7 +282,12 @@ abstract class TimelineParserForCompareExpr implements TimelineParser {
parseValue(expr.substring(kvStartOffset, offset)));
}
if (filterList == null || filterList.getFilterList().isEmpty()) {
- filterList = new TimelineFilterList(currentFilter);
+ if (currentFilter == null) {
+ throw new TimelineParseException(
+ "Invalid expression provided for " + exprName);
+ } else {
+ filterList = new TimelineFilterList(currentFilter);
+ }
} else if (currentFilter != null) {
filterList.addFilter(currentFilter);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/024d7c08/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForEqualityExpr.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForEqualityExpr.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForEqualityExpr.java
index 7451713..2bdce38 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForEqualityExpr.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineParserForEqualityExpr.java
@@ -325,7 +325,12 @@ abstract class TimelineParserForEqualityExpr implements TimelineParser {
}
}
if (filterList == null || filterList.getFilterList().isEmpty()) {
- filterList = new TimelineFilterList(currentFilter);
+ if (currentFilter == null) {
+ throw new TimelineParseException(
+ "Invalid expression provided for " + exprName);
+ } else {
+ filterList = new TimelineFilterList(currentFilter);
+ }
} else if (currentFilter != null) {
filterList.addFilter(currentFilter);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/024d7c08/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesUtils.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesUtils.java
index b2837c2..1455d17 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesUtils.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesUtils.java
@@ -31,6 +31,7 @@ import org.apache.hadoop.yarn.server.timelineservice.reader.filter.TimelineFilte
import org.apache.hadoop.yarn.server.timelineservice.reader.filter.TimelineKeyValueFilter;
import org.apache.hadoop.yarn.server.timelineservice.reader.filter.TimelineKeyValuesFilter;
import org.apache.hadoop.yarn.server.timelineservice.reader.filter.TimelinePrefixFilter;
+import org.junit.Assert;
import org.junit.Test;
import com.google.common.collect.Sets;
@@ -520,6 +521,30 @@ public class TestTimelineReaderWebServicesUtils {
);
verifyFilterList(expr, TimelineReaderWebServicesUtils.
parseKVFilters(expr, false), expectedList);
+
+ expr = "abdeq";
+ try {
+ TimelineReaderWebServicesUtils.parseKVFilters(expr, false);
+ Assert.fail("Expression valuation should throw exception.");
+ } catch (TimelineParseException e) {
+ // expected: do nothing
+ }
+
+ expr = "abc gt 234 AND defeq";
+ try {
+ TimelineReaderWebServicesUtils.parseKVFilters(expr, false);
+ Assert.fail("Expression valuation should throw exception.");
+ } catch (TimelineParseException e) {
+ // expected: do nothing
+ }
+
+ expr = "((key11 ne 234 AND key12 eq val12) AND (key13eq OR key14 eq va14))";
+ try {
+ TimelineReaderWebServicesUtils.parseKVFilters(expr, false);
+ Assert.fail("Expression valuation should throw exception.");
+ } catch (TimelineParseException e) {
+ // expected: do nothing
+ }
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org