[
https://issues.apache.org/jira/browse/HADOOP-7542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vinod Kumar Vavilapalli reopened HADOOP-7542:
---------------------------------------------
I am running into issues because of this patch.
I am running trunk, executing mapreduce jobs via YARN. With this patch
reverted, jobs run fine. But with this patch, all the jobs are failing for me.
After quite a bit of debugging, I cornered it down to this bug.
What is happening is that when a configuration file is read from disk/DFS and
written back using Configuration.writeXml(), the new file is having spurious
text inserted into the values of some properties. I observed that extra text
itself is coming from the same file. For e.g., in one case staging directory
which was set to /user/nobody/staging/dir became
/user/nobody/l--><name>dfs/staging/dir. Tthis erroneous behaviour happens for
different properties when run repeatedly. And because of this tasks are failing
randomly.
Reopening this ticket.
> 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: Improvement
> 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 "" 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.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira