浏览代码

YARN-3207. Secondary filter matches entites which do not have the key
being filtered for. Contributed by Zhijie Shen

Xuan 10 年之前
父节点
当前提交
57db50cbe3

+ 3 - 0
hadoop-yarn-project/CHANGES.txt

@@ -608,6 +608,9 @@ Release 2.7.0 - UNRELEASED
     YARN-2749. Fix some testcases from TestLogAggregationService fails in trunk. 
     (Xuan Gong via junping_du)
 
+    YARN-3207. Secondary filter matches entites which do not have the key being
+    filtered for. (Zhijie Shen via xgong)
+
 Release 2.6.0 - 2014-11-18
 
   INCOMPATIBLE CHANGES

+ 1 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/LeveldbTimelineStore.java

@@ -672,7 +672,7 @@ public class LeveldbTimelineStore extends AbstractService
             if (v == null) {
               Set<Object> vs = entity.getPrimaryFilters()
                   .get(filter.getName());
-              if (vs != null && !vs.contains(filter.getValue())) {
+              if (vs == null || !vs.contains(filter.getValue())) {
                 filterPassed = false;
                 break;
               }

+ 3 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TimelineStoreTestUtils.java

@@ -767,6 +767,9 @@ public class TimelineStoreTestUtils {
 
     entities = getEntitiesWithFilters("type_1", userFilter, badTestingFilters);
     assertEquals(0, entities.size());
+
+    entities = getEntitiesWithFilters("type_5", null, badTestingFilters);
+    assertEquals(0, entities.size());
   }
 
   public void testGetEvents() throws IOException {