[
https://issues.apache.org/jira/browse/HBASE-19020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16207002#comment-16207002
]
Sean Busbey commented on HBASE-19020:
-------------------------------------
The first parsing exception is from the internal version of Xerces that ships
with the sun JDK.
The second parsing exception is from the dependency
{{com.fasterxml.woodstox:woodstox-core:jar:5.0.3:compile}}, which is brought in
by hadoop-common 3.0.0-beta1. Examining that jar shows it's definitely
implementing the requested java API (via
{{META-INF/services/javax.xml.stream.XMLInputFactory}}).
> TestXmlParsing exception checking relies on a particular xml implementation
> without declaring it.
> -------------------------------------------------------------------------------------------------
>
> Key: HBASE-19020
> URL: https://issues.apache.org/jira/browse/HBASE-19020
> Project: HBase
> Issue Type: Bug
> Components: dependencies, REST
> Affects Versions: 1.3.0, 1.4.0, 1.2.5, 1.1.9, 2.0.0-alpha-1
> Reporter: Sean Busbey
> Assignee: Sean Busbey
> Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-beta-1, 1.1.13
>
>
> The test added in HBASE-17424 is overly specific:
> {code}
> @Test
> public void testFailOnExternalEntities() throws Exception {
> final String externalEntitiesXml =
> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
> + " <!DOCTYPE foo [ <!ENTITY xxe SYSTEM \"/tmp/foo\"> ] >"
> + " <ClusterVersion>&xee;</ClusterVersion>";
> Client client = mock(Client.class);
> RemoteAdmin admin = new RemoteAdmin(client, HBaseConfiguration.create(),
> null);
> Response resp = new Response(200, null, externalEntitiesXml.getBytes());
> when(client.get("/version/cluster",
> Constants.MIMETYPE_XML)).thenReturn(resp);
> try {
> admin.getClusterVersion();
> fail("Expected getClusterVersion() to throw an exception");
> } catch (IOException e) {
> final String exceptionText = StringUtils.stringifyException(e);
> final String expectedText = "The entity \"xee\" was referenced, but not
> declared.";
> LOG.error("exception text: " + exceptionText, e);
> assertTrue("Exception does not contain expected text",
> exceptionText.contains(expectedText));
> }
> }
> {code}
> Specifically, when running against Hadoop 3.0.0-beta1 this test fails because
> the exception text is different, though I'm still figuring out why.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)