[ https://issues.apache.org/jira/browse/HADOOP-7542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aaron T. Myers moved MAPREDUCE-109 to HADOOP-7542: -------------------------------------------------- Affects Version/s: (was: 0.23.0) (was: 0.20.2) 0.23.0 0.20.2 Key: HADOOP-7542 (was: MAPREDUCE-109) Project: Hadoop Common (was: Hadoop Map/Reduce) > Setting up ctr-A as custom delimiter for "mapred.textoutputformat.separator" > ---------------------------------------------------------------------------- > > Key: HADOOP-7542 > URL: https://issues.apache.org/jira/browse/HADOOP-7542 > Project: Hadoop Common > Issue Type: Bug > Affects Versions: 0.20.2, 0.23.0 > Reporter: Suhas Gogate > Assignee: Michael Katzenellenbogen > Attachments: MAPREDUCE-109-v2.patch, MAPREDUCE-109-v3.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. For more information on JIRA, see: http://www.atlassian.com/software/jira