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

Suhas Gogate commented on HADOOP-3295:
--------------------------------------

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 

> Allow TextOutputFormat to use configurable separators
> -----------------------------------------------------
>
>                 Key: HADOOP-3295
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3295
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: io
>            Reporter: Zheng Shao
>            Assignee: Zheng Shao
>            Priority: Minor
>             Fix For: 0.18.0
>
>         Attachments: 3295-2.patch, 3295.patch
>
>
> TextOutputFormat use hardcoded tab as key-value separator. We should allow 
> configurable separators like ^A, etc.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to