http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java index cbe360a..e77785b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesFairScheduler.java @@ -23,6 +23,7 @@ import static org.junit.Assert.fail; import javax.ws.rs.core.MediaType; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.resourcemanager.MockRM; import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager; @@ -91,7 +92,8 @@ public class TestRMWebServicesFairScheduler extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("scheduler").accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); verifyClusterScheduler(json); } @@ -102,7 +104,8 @@ public class TestRMWebServicesFairScheduler extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("scheduler/").accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); verifyClusterScheduler(json); } @@ -120,7 +123,8 @@ public class TestRMWebServicesFairScheduler extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("scheduler").accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); JSONArray subQueueInfo = json.getJSONObject("scheduler") .getJSONObject("schedulerInfo").getJSONObject("rootQueue")
http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java index 29a38d9..c286186 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesForCSWithPartitions.java @@ -29,6 +29,7 @@ import javax.ws.rs.core.MediaType; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.yarn.api.records.NodeLabel; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.resourcemanager.MockRM; @@ -194,7 +195,8 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster").path("scheduler") .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); verifySchedulerInfoJson(json); } @@ -205,7 +207,8 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster").path("scheduler/") .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); verifySchedulerInfoJson(json); @@ -216,7 +219,8 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase { WebResource r = resource(); ClientResponse response = r.path("ws").path("v1").path("cluster") .path("scheduler").get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); verifySchedulerInfoJson(json); } @@ -227,7 +231,8 @@ public class TestRMWebServicesForCSWithPartitions extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster").path("scheduler") .accept(MediaType.APPLICATION_XML).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String xml = response.getEntity(String.class); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java index 0cfaac1..5e6fd4e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodeLabels.java @@ -30,6 +30,7 @@ import javax.ws.rs.core.MediaType; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.resourcemanager.MockRM; @@ -137,7 +138,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals(1, nlsifo.getNodeLabels().size()); for (NodeLabelInfo nl : nlsifo.getNodeLabelsInfo()) { @@ -160,7 +162,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals(2, nlsifo.getNodeLabels().size()); // Verify exclusivity for 'y' as false @@ -214,7 +217,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("label-mappings").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); LabelsToNodesInfo ltni = response.getEntity(LabelsToNodesInfo.class); assertEquals(2, ltni.getLabelsToNodes().size()); NodeIDsInfo nodes = ltni.getLabelsToNodes().get( @@ -233,7 +237,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .queryParams(params) .accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); ltni = response.getEntity(LabelsToNodesInfo.class); assertEquals(1, ltni.getLabelsToNodes().size()); nodes = ltni.getLabelsToNodes().get(new NodeLabelInfo("a")); @@ -245,7 +250,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .path("nodes").path("nid:0") .path("get-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertTrue(nlsifo.getNodeLabelsInfo().contains(new NodeLabelInfo("a"))); @@ -269,7 +275,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .path("nodes").path("nid:0") .path("get-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertTrue(nlsifo.getNodeLabelsInfo().contains( new NodeLabelInfo("b", false))); @@ -294,7 +301,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-to-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); NodeToLabelsInfo ntlinfo = response.getEntity(NodeToLabelsInfo.class); NodeLabelsInfo nlinfo = ntlinfo.getNodeToLabels().get("nid:0"); assertEquals(1, nlinfo.getNodeLabels().size()); @@ -318,7 +326,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .path("nodes").path("nid:0") .path("get-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertTrue(nlsifo.getNodeLabelsInfo().isEmpty()); @@ -341,7 +350,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .path("nodes").path("nid:0") .path("get-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertTrue(nlsifo.getNodeLabelsInfo().contains(new NodeLabelInfo("a"))); @@ -362,7 +372,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { .path("nodes").path("nid:0") .path("get-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertTrue(nlsifo.getNodeLabelsInfo().contains(new NodeLabelInfo("a"))); @@ -379,7 +390,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals(2, nlsifo.getNodeLabels().size()); @@ -398,7 +410,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals(1, nlsifo.getNodeLabels().size()); for (NodeLabelInfo nl : nlsifo.getNodeLabelsInfo()) { @@ -421,7 +434,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals(0, nlsifo.getNodeLabels().size()); @@ -475,7 +489,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster").path("get-node-to-labels") .queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); ntlinfo = response.getEntity(NodeToLabelsInfo.class); nlinfo = ntlinfo.getNodeToLabels().get("nid:0"); assertEquals(1, nlinfo.getNodeLabels().size()); @@ -496,7 +511,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster").path("get-node-to-labels") .queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); ntlinfo = response.getEntity(NodeToLabelsInfo.class); nlinfo = ntlinfo.getNodeToLabels().get("nid:0"); assertEquals(1, nlinfo.getNodeLabels().size()); @@ -518,7 +534,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals(new NodeLabelInfo("y", false), nlsifo.getNodeLabelsInfo().get(0)); @@ -541,7 +558,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertTrue(nlsifo.getNodeLabelsInfo().isEmpty()); @@ -563,7 +581,8 @@ public class TestRMWebServicesNodeLabels extends JerseyTestBase { r.path("ws").path("v1").path("cluster") .path("get-node-labels").queryParam("user.name", userName) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); nlsifo = response.getEntity(NodeLabelsInfo.class); assertEquals("z", nlsifo.getNodeLabelsInfo().get(0).getName()); assertFalse(nlsifo.getNodeLabelsInfo().get(0).getExclusivity()); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java index 718091f..71f8950 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesNodes.java @@ -32,6 +32,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.yarn.api.records.ContainerStatus; import org.apache.hadoop.yarn.api.records.NodeId; import org.apache.hadoop.yarn.api.records.NodeState; @@ -154,7 +155,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { r.path("ws").path("v1").path("cluster").path("nodes") .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); JSONObject nodes = json.getJSONObject("nodes"); @@ -201,7 +203,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .path("nodes").queryParam("states", NodeState.NEW.toString()) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); JSONObject nodes = json.getJSONObject("nodes"); @@ -223,7 +226,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .path("nodes") .queryParam("states", NodeState.DECOMMISSIONED.toString()) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); assertEquals("nodes is not empty", @@ -246,7 +250,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = ue.getResponse(); assertResponseStatusCode(Status.BAD_REQUEST, response.getStatusInfo()); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); @@ -279,7 +284,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .path("nodes").queryParam("states", NodeState.LOST.toString()) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); JSONObject nodes = json.getJSONObject("nodes"); assertEquals("incorrect number of elements", 1, nodes.length()); @@ -310,7 +316,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .path("nodes").path("h2:1234").accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); JSONObject info = json.getJSONObject("node"); String id = info.get("id").toString(); @@ -336,7 +343,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("nodes").queryParam("states", "running") .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); JSONObject nodes = json.getJSONObject("nodes"); @@ -354,7 +362,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("nodes").queryParam("states", "UNHEALTHY") .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); assertEquals("nodes is not empty", @@ -369,7 +378,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path(path).accept(media).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); JSONObject nodes = json.getJSONObject("nodes"); @@ -415,7 +425,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("nodes").path(nodeid).accept(media).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); JSONObject info = json.getJSONObject("node"); @@ -438,7 +449,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); assertResponseStatusCode(Status.NOT_FOUND, response.getStatusInfo()); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); assertEquals("incorrect number of elements", 3, exception.length()); @@ -464,7 +476,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); assertResponseStatusCode(Status.NOT_FOUND, response.getStatusInfo()); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); assertEquals("incorrect number of elements", 3, exception.length()); @@ -490,7 +503,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { } catch (UniformInterfaceException ue) { ClientResponse response = ue.getResponse(); assertResponseStatusCode(Status.NOT_FOUND, response.getStatusInfo()); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String msg = response.getEntity(String.class); System.out.println(msg); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); @@ -533,7 +547,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = ue.getResponse(); assertResponseStatusCode(Status.BAD_REQUEST, response.getStatusInfo()); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject msg = response.getEntity(JSONObject.class); JSONObject exception = msg.getJSONObject("RemoteException"); assertEquals("incorrect number of elements", 3, exception.length()); @@ -557,7 +572,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("nodes").accept(MediaType.APPLICATION_XML) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String xml = response.getEntity(String.class); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); @@ -581,7 +597,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .path("nodes").path("h1:1234").accept(MediaType.APPLICATION_XML) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String xml = response.getEntity(String.class); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); @@ -602,7 +619,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { ClientResponse response = r.path("ws").path("v1").path("cluster") .path("nodes").accept(MediaType.APPLICATION_XML) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String xml = response.getEntity(String.class); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); @@ -631,7 +649,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .queryParam("states", Joiner.on(',').join(EnumSet.allOf(NodeState.class))) .accept(MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); JSONObject nodes = json.getJSONObject("nodes"); assertEquals("incorrect number of elements", 1, nodes.length()); @@ -663,7 +682,8 @@ public class TestRMWebServicesNodes extends JerseyTestBase { .path("nodes").accept(MediaType.APPLICATION_JSON) .get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); JSONObject nodes = json.getJSONObject("nodes"); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java index 41863f6..657bec4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesReservation.java @@ -39,6 +39,7 @@ import javax.ws.rs.core.MediaType; import org.apache.commons.io.FileUtils; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.security.authentication.server.AuthenticationFilter; import org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler; import org.apache.hadoop.yarn.api.records.ReservationId; @@ -968,7 +969,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } System.out.println("RESPONSE:" + response); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); assertEquals("incorrect number of elements", 1, json.length()); @@ -1055,7 +1057,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } System.out.println("RESPONSE:" + response); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); assertResponseStatusCode(Status.OK, response.getStatusInfo()); } @@ -1104,7 +1107,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase { } System.out.println("RESPONSE:" + response); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); assertResponseStatusCode(Status.OK, response.getStatusInfo()); } @@ -1134,7 +1138,8 @@ public class TestRMWebServicesReservation extends JerseyTestBase { return null; } - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); assertResponseStatusCode(status, response.getStatusInfo()); return response.getEntity(JSONObject.class); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java index d7b0581..a0bd951 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesSchedulerActivities.java @@ -23,6 +23,7 @@ import com.sun.jersey.api.client.WebResource; import com.sun.jersey.core.util.MultivaluedMapImpl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.yarn.api.records.ContainerId; import org.apache.hadoop.yarn.api.records.ContainerState; import org.apache.hadoop.yarn.api.records.ContainerStatus; @@ -79,7 +80,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); @@ -89,7 +91,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 11); @@ -139,7 +142,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); @@ -149,7 +153,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 0); @@ -172,7 +177,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); Thread.sleep(1000); @@ -181,7 +187,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 0); @@ -218,7 +225,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); @@ -228,7 +236,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 0); @@ -269,7 +278,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm2.nodeHeartbeat(true); @@ -278,7 +288,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 1); @@ -295,7 +306,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); nm2.nodeHeartbeat(true); @@ -304,7 +316,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 1); @@ -329,7 +342,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); nm2.nodeHeartbeat(true); @@ -338,7 +352,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 1); @@ -373,7 +388,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); @@ -383,7 +399,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 1); @@ -519,7 +536,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); Thread.sleep(5000); @@ -528,7 +546,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 1); @@ -571,7 +590,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); Thread.sleep(5000); @@ -580,7 +600,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 10); @@ -623,7 +644,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm.nodeHeartbeat(true); Thread.sleep(5000); @@ -632,7 +654,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 0); @@ -657,14 +680,16 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); //Get JSON response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 0); @@ -705,7 +730,8 @@ public class TestRMWebServicesSchedulerActivities ClientResponse response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); JSONObject json = response.getEntity(JSONObject.class); nm2.nodeHeartbeat(true); @@ -714,7 +740,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 1); @@ -726,7 +753,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); nm2.nodeHeartbeat(true); @@ -735,7 +763,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 2); @@ -755,7 +784,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); nm2.nodeHeartbeat(true); @@ -764,7 +794,8 @@ public class TestRMWebServicesSchedulerActivities response = r.path("ws").path("v1").path("cluster").path( "scheduler/app-activities").queryParams(params).accept( MediaType.APPLICATION_JSON).get(ClientResponse.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); json = response.getEntity(JSONObject.class); verifyNumberOfAllocations(json, 3); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java index a15d656..2925e84 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/webapp/TestRMWithCSRFFilter.java @@ -26,6 +26,7 @@ import com.sun.jersey.api.client.WebResource; import com.sun.jersey.guice.spi.container.servlet.GuiceContainer; import com.sun.jersey.test.framework.WebAppDescriptor; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.security.http.RestCsrfPreventionFilter; import org.apache.hadoop.service.Service.STATE; import org.apache.hadoop.util.VersionInfo; @@ -120,7 +121,8 @@ public class TestRMWithCSRFFilter extends JerseyTestBase { .get(ClientResponse.class); assertTrue("Should have been accepted", response.getStatus() == Status.OK.getStatusCode()); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String xml = response.getEntity(String.class); verifyClusterInfoXML(xml); } @@ -144,7 +146,8 @@ public class TestRMWithCSRFFilter extends JerseyTestBase { .get(ClientResponse.class); assertTrue("Should have been accepted", response.getStatus() == Status.OK.getStatusCode()); - assertEquals(MediaType.APPLICATION_XML_TYPE, response.getType()); + assertEquals(MediaType.APPLICATION_XML_TYPE + "; " + JettyUtils.UTF_8, + response.getType().toString()); String xml = response.getEntity(String.class); verifyClusterInfoXML(xml); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/pom.xml ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/pom.xml index 1b8b7f9..7119c4d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/pom.xml @@ -55,7 +55,7 @@ <artifactId>jasper-compiler</artifactId> </exclusion> <exclusion> - <groupId>org.mortbay.jetty</groupId> + <groupId>org.eclipse.jetty</groupId> <artifactId>jsp-2.1-jetty</artifactId> </exclusion> </exclusions> http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml index eca244e..c4786c7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml @@ -73,6 +73,10 @@ <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-auth</artifactId> </exclusion> + <exclusion> + <groupId>tomcat</groupId> + <artifactId>jasper-runtime</artifactId> + </exclusion> </exclusions> </dependency> @@ -425,6 +429,18 @@ </exclusion> </exclusions> </dependency> + + <!-- Jetty 9 is needed by the ATS code --> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-servlet</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.jetty</groupId> + <artifactId>jetty-webapp</artifactId> + <scope>test</scope> + </dependency> </dependencies> <build> http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesHBaseStorage.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesHBaseStorage.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesHBaseStorage.java index b185448..2ed5d96 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesHBaseStorage.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/reader/TestTimelineReaderWebServicesHBaseStorage.java @@ -369,7 +369,19 @@ public class TestTimelineReaderWebServicesHBaseStorage { "org.apache.hadoop.yarn.server.timelineservice.storage." + "HBaseTimelineReaderImpl"); config.setInt("hfile.format.version", 3); - server = new TimelineReaderServer(); + server = new TimelineReaderServer() { + @Override + protected void setupOptions(Configuration conf) { + // The parent code tries to use HttpServer2 from this version of + // Hadoop, but the tests are loading in HttpServer2 from + // ${hbase-compatible-hadoop.version}. This version uses Jetty 9 + // while ${hbase-compatible-hadoop.version} uses Jetty 6, and there + // are many differences, including classnames and packages. + // We do nothing here, so that we don't cause a NoSuchMethodError. + // Once ${hbase-compatible-hadoop.version} is changed to Hadoop 3, + // we should be able to remove this @Override. + } + }; server.init(config); server.start(); serverPort = server.getWebServerPort(); @@ -478,7 +490,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "1002345678919"); ClientResponse resp = getResponse(client, uri); FlowRunEntity entity = resp.getEntity(FlowRunEntity.class); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entity); assertEquals("user1@flow_name/1002345678919", entity.getId()); assertEquals(3, entity.getMetrics().size()); @@ -523,7 +536,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { ClientResponse resp = getResponse(client, uri); Set<FlowRunEntity> entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(2, entities.size()); for (FlowRunEntity entity : entities) { @@ -541,7 +555,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "clusters/cluster1/users/user1/flows/flow_name/runs?limit=1"); resp = getResponse(client, uri); entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(1, entities.size()); for (FlowRunEntity entity : entities) { @@ -557,7 +572,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "createdtimestart=1425016501030"); resp = getResponse(client, uri); entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(1, entities.size()); for (FlowRunEntity entity : entities) { @@ -573,7 +589,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "createdtimestart=1425016500999&createdtimeend=1425016501035"); resp = getResponse(client, uri); entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(2, entities.size()); for (FlowRunEntity entity : entities) { @@ -592,7 +609,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "createdtimeend=1425016501030"); resp = getResponse(client, uri); entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(1, entities.size()); for (FlowRunEntity entity : entities) { @@ -608,7 +626,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "fields=metrics"); resp = getResponse(client, uri); entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(2, entities.size()); for (FlowRunEntity entity : entities) { @@ -644,7 +663,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { ClientResponse resp = getResponse(client, uri); Set<FlowRunEntity> entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(2, entities.size()); int metricCnt = 0; @@ -662,7 +682,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { "metricstoretrieve=!(MAP_,HDFS_)"); resp = getResponse(client, uri); entities = resp.getEntity(new GenericType<Set<FlowRunEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(2, entities.size()); metricCnt = 0; @@ -2101,7 +2122,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { ClientResponse resp = getResponse(client, uri); Set<FlowActivityEntity> entities = resp.getEntity(new GenericType<Set<FlowActivityEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(0, entities.size()); } finally { @@ -2131,7 +2153,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { ClientResponse resp = getResponse(client, uri); Set<TimelineEntity> entities = resp.getEntity(new GenericType<Set<TimelineEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(0, entities.size()); } finally { @@ -2148,7 +2171,8 @@ public class TestTimelineReaderWebServicesHBaseStorage { ClientResponse resp = getResponse(client, uri); Set<TimelineEntity> entities = resp.getEntity(new GenericType<Set<TimelineEntity>>(){}); - assertEquals(MediaType.APPLICATION_JSON_TYPE, resp.getType()); + assertEquals(MediaType.APPLICATION_JSON_TYPE + "; charset=utf-8", + resp.getType().toString()); assertNotNull(entities); assertEquals(0, entities.size()); } finally { http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/pom.xml ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/pom.xml index a6b4cee..523ae82 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/pom.xml @@ -83,7 +83,7 @@ <dependency> <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> + <artifactId>javax.servlet-api</artifactId> </dependency> <dependency> @@ -139,6 +139,10 @@ <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> </exclusion> + <exclusion> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-util</artifactId> + </exclusion> </exclusions> </dependency> @@ -173,6 +177,18 @@ <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-mapreduce-client-core</artifactId> </exclusion> + <exclusion> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty</artifactId> + </exclusion> + <exclusion> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-util</artifactId> + </exclusion> + <exclusion> + <groupId>org.mortbay.jetty</groupId> + <artifactId>jetty-sslengine</artifactId> + </exclusion> </exclusions> </dependency> http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorWebService.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/collector/TimelineCollectorWebService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorWebService.java index 29ef1f8..f36c636 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorWebService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/collector/TimelineCollectorWebService.java @@ -41,6 +41,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.timelineservice.ApplicationAttemptEntity; @@ -111,7 +112,8 @@ public class TimelineCollectorWebService { * @return description of timeline web service. */ @GET - @Produces({ MediaType.APPLICATION_JSON /* , MediaType.APPLICATION_XML */}) + @Produces({ MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8 + /* , MediaType.APPLICATION_XML */}) public AboutInfo about( @Context HttpServletRequest req, @Context HttpServletResponse res) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.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/TimelineReaderServer.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java index 110d1dc..9cbcc94 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderServer.java @@ -119,14 +119,7 @@ public class TimelineReaderServer extends CompositeService { .addEndpoint(URI.create("http://" + bindAddress)); readerWebServer = builder.build(); - Map<String, String> options = new HashMap<>(); - String username = conf.get(HADOOP_HTTP_STATIC_USER, - DEFAULT_HADOOP_HTTP_STATIC_USER); - options.put(HADOOP_HTTP_STATIC_USER, username); - HttpServer2.defineFilter(readerWebServer.getWebAppContext(), - "static_user_filter_timeline", - StaticUserWebFilter.StaticUserFilter.class.getName(), - options, new String[] {"/*"}); + setupOptions(conf); readerWebServer.addJerseyResourcePackage( TimelineReaderWebServices.class.getPackage().getName() + ";" @@ -143,6 +136,22 @@ public class TimelineReaderServer extends CompositeService { } } + /** + * Sets up some options and filters. + * + * @param conf Configuration + */ + protected void setupOptions(Configuration conf) { + Map<String, String> options = new HashMap<>(); + String username = conf.get(HADOOP_HTTP_STATIC_USER, + DEFAULT_HADOOP_HTTP_STATIC_USER); + options.put(HADOOP_HTTP_STATIC_USER, username); + HttpServer2.defineFilter(readerWebServer.getWebAppContext(), + "static_user_filter_timeline", + StaticUserWebFilter.StaticUserFilter.class.getName(), + options, new String[] {"/*"}); + } + @VisibleForTesting int getWebServerPort() { return readerWebServer.getConnectorAddress(0).getPort(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/5877f20f/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderWebServices.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/TimelineReaderWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderWebServices.java index db0c4e1..139a1be 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice/src/main/java/org/apache/hadoop/yarn/server/timelineservice/reader/TimelineReaderWebServices.java @@ -44,6 +44,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.http.JettyUtils; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.util.Time; import org.apache.hadoop.yarn.api.records.timeline.TimelineAbout; @@ -199,7 +200,7 @@ public class TimelineReaderWebServices { * @return information about the cluster including timeline version. */ @GET - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineAbout about( @Context HttpServletRequest req, @Context HttpServletResponse res) { @@ -276,7 +277,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/app-uid/{uid}/entities/{entitytype}") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getEntities( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -414,7 +415,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/apps/{appid}/entities/{entitytype}") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getEntities( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -524,7 +525,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/clusters/{clusterid}/apps/{appid}/entities/{entitytype}") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getEntities( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -621,7 +622,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/entity-uid/{uid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getEntity( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -716,7 +717,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/apps/{appid}/entities/{entitytype}/{entityid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getEntity( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -787,7 +788,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/clusters/{clusterid}/apps/{appid}/entities/{entitytype}/{entityid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getEntity( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -859,7 +860,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/run-uid/{uid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getFlowRun( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -927,7 +928,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/users/{userid}/flows/{flowname}/runs/{flowrunid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getFlowRun( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -968,7 +969,7 @@ public class TimelineReaderWebServices { @GET @Path("/clusters/{clusterid}/users/{userid}/flows/{flowname}/" + "runs/{flowrunid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getFlowRun( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1050,7 +1051,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/flow-uid/{uid}/runs/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowRuns( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1135,7 +1136,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/users/{userid}/flows/{flowname}/runs/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowRuns( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1190,7 +1191,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/clusters/{clusterid}/users/{userid}/flows/{flowname}/runs/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowRuns( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1271,7 +1272,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/flows/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlows( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1317,7 +1318,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/clusters/{clusterid}/flows/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlows( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1401,7 +1402,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/app-uid/{uid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getApp( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1492,7 +1493,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/apps/{appid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getApp( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1556,7 +1557,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/clusters/{clusterid}/apps/{appid}/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public TimelineEntity getApp( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1671,7 +1672,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/run-uid/{uid}/apps") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowRunApps( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1798,7 +1799,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/users/{userid}/flows/{flowname}/runs/{flowrunid}/apps/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowRunApps( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1899,7 +1900,7 @@ public class TimelineReaderWebServices { @GET @Path("/clusters/{clusterid}/users/{userid}/flows/{flowname}/runs/" + "{flowrunid}/apps/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowRunApps( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -1997,7 +1998,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/users/{userid}/flows/{flowname}/apps/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowApps( @Context HttpServletRequest req, @Context HttpServletResponse res, @@ -2094,7 +2095,7 @@ public class TimelineReaderWebServices { */ @GET @Path("/clusters/{clusterid}/users/{userid}/flows/{flowname}/apps/") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON + "; " + JettyUtils.UTF_8) public Set<TimelineEntity> getFlowApps( @Context HttpServletRequest req, @Context HttpServletResponse res, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
