[ 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