Browse Source

YARN-3624. ApplicationHistoryServer should not reverse the order of the
filters it gets. Contributed by Mit Desai

Xuan 9 năm trước cách đây
mục cha
commit
d1b9b85244

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

@@ -991,6 +991,9 @@ Release 2.7.2 - UNRELEASED
     YARN-3975. WebAppProxyServlet should not redirect to RM page if AHS is
     enabled (Mit Desai via jlowe)
 
+    YARN-3624. ApplicationHistoryServer should not reverse the order of the
+    filters it gets. (Mit Desai via xgong)
+
 Release 2.7.1 - 2015-07-06
 
   INCOMPATIBLE CHANGES

+ 8 - 5
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryServer.java

@@ -242,17 +242,20 @@ public class ApplicationHistoryServer extends CompositeService {
       if(conf.getBoolean(YarnConfiguration
           .TIMELINE_SERVICE_HTTP_CROSS_ORIGIN_ENABLED, YarnConfiguration
               .TIMELINE_SERVICE_HTTP_CROSS_ORIGIN_ENABLED_DEFAULT)) {
-        initializers = CrossOriginFilterInitializer.class.getName() + ","
-            + initializers;
+        if (initializers.length() != 0) {
+          initializers += ",";
+        }
+        initializers += CrossOriginFilterInitializer.class.getName();
         modifiedInitializers = true;
       }
     }
 
     if (!initializers.contains(TimelineAuthenticationFilterInitializer.class
       .getName())) {
-      initializers =
-          TimelineAuthenticationFilterInitializer.class.getName() + ","
-              + initializers;
+      if (initializers.length() != 0) {
+        initializers += ",";
+      }
+      initializers += TimelineAuthenticationFilterInitializer.class.getName();
       modifiedInitializers = true;
     }
 

+ 2 - 2
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/TestApplicationHistoryServer.java

@@ -138,8 +138,8 @@ public class TestApplicationHistoryServer {
     HashMap<String, String> driver = new HashMap<String, String>();
     driver.put("", TimelineAuthenticationFilterInitializer.class.getName());
     driver.put(StaticUserWebFilter.class.getName(),
-      TimelineAuthenticationFilterInitializer.class.getName() + ","
-          + StaticUserWebFilter.class.getName());
+        StaticUserWebFilter.class.getName() + "," +
+            TimelineAuthenticationFilterInitializer.class.getName());
     driver.put(AuthenticationFilterInitializer.class.getName(),
       TimelineAuthenticationFilterInitializer.class.getName());
     driver.put(TimelineAuthenticationFilterInitializer.class.getName(),