hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-7542) Change XML format to 1.1 to add support for serializing additional characters
Date Fri, 23 Sep 2011 10:16:26 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-7542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13113303#comment-13113303
] 

Steve Loughran commented on HADOOP-7542:
----------------------------------------

I wouldn't mark this as a bug so much as a new feature. 

XML1.1 is odd.
[http://norman.walsh.name/2004/09/30/xml11]
[http://lists.w3.org/Archives/Public/www-archive/2007Oct/0058.html]

I don't consider XML1.1 to be a minor change, and I am in the "was never a good idea" category.


The patch is in, fine, let's leave it in. But it is a new feature and should really be marked
as such. My biggest concern is that it's going to break against some XML parsers, and while
you can lock down server-side Hadoop, it's the client-side that worries me

HADOOP-5254 has shown that something minor -enabling a feature in XML1.0- broke things (HADOOP-4944).
Given that the primary goal of XML1.1 was to allow the wierd line endings of IBM mainframes,
this worries me. 

> Change XML format to 1.1 to add support for serializing additional characters
> -----------------------------------------------------------------------------
>
>                 Key: HADOOP-7542
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7542
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: conf
>    Affects Versions: 0.20.2
>            Reporter: Suhas Gogate
>            Assignee: Michael Katzenellenbogen
>             Fix For: 0.24.0
>
>         Attachments: HADOOP-7542-v1.patch, MAPREDUCE-109-v2.patch, MAPREDUCE-109-v3.patch,
MAPREDUCE-109-v4.patch, MAPREDUCE-109.patch
>
>
> Feature added by this Jira has a problem while setting up some of the invalid xml characters
e.g. ctrl-A e.g. mapred.textoutputformat.separator = "\u0001"
> e,g,
> String delim = "\u0001";
> Conf.set("mapred.textoutputformat.separator", delim);
> Job client serializes the jobconf with mapred.textoutputformat.separator set to "\u0001"
(ctrl-A) and problem happens when it is de-serialized (read back) by job tracker, where it
encounters invalid xml character.
> The test for this feature public : testFormatWithCustomSeparator() does not serialize
the jobconf after adding the separator as ctrl-A and hence does not detect the specific problem.
> Here is an exception:
> 08/12/06 01:40:50 INFO mapred.FileInputFormat: Total input paths to process : 1
> org.apache.hadoop.ipc.RemoteException: java.io.IOException:
> java.lang.RuntimeException: org.xml.sax.SAXParseException: Character reference "&#1"
is an invalid XML
> character.
> at
> org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:961)
> at
> org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:864)
> at
> org.apache.hadoop.conf.Configuration.getProps(Configuration.java:832)
> at org.apache.hadoop.conf.Configuration.get(Configuration.java:291)
> at
> org.apache.hadoop.mapred.JobConf.getJobPriority(JobConf.java:1163)
> at
> org.apache.hadoop.mapred.JobInProgress.<init>(JobInProgress.java:179)
> at
> org.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:1783)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:452)
> at org.apache.hadoop.ipc.Server$Handler.run(Server.java:888)
> at org.apache.hadoop.ipc.Client.call(Client.java:715)
> at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:216)
> at org.apache.hadoop.mapred.$Proxy1.submitJob(Unknown Source)
> at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:788)
> at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1026)
> at

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message