[ https://issues.apache.org/jira/browse/AVRO-1356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13732664#comment-13732664 ]
Hudson commented on AVRO-1356: ------------------------------ SUCCESS: Integrated in AvroJava #388 (See [https://builds.apache.org/job/AvroJava/388/]) AVRO-1356. Java: Fix AvroMultipleOutputs for map-only jobs. Contributed by Alan Paulsen. (cutting: rev 1511456) * /avro/trunk/CHANGES.txt * /avro/trunk/lang/java/mapred/src/main/java/org/apache/avro/hadoop/io/AvroDatumConverterFactory.java * /avro/trunk/lang/java/mapred/src/main/java/org/apache/avro/mapreduce/AvroKeyOutputFormat.java * /avro/trunk/lang/java/mapred/src/test/java/org/apache/avro/mapreduce/TestAvroKeyOutputFormat.java > AvroMultipleOutputs map only jobs do not use NamedOutput schemas > ---------------------------------------------------------------- > > Key: AVRO-1356 > URL: https://issues.apache.org/jira/browse/AVRO-1356 > Project: Avro > Issue Type: Bug > Components: java > Affects Versions: 1.7.4 > Reporter: Alan Paulsen > Assignee: Alan Paulsen > Fix For: 1.7.5 > > Attachments: AVRO-1356.patch > > > AvroMultipleOutputs sets the MapOutputKeySchema when running a map only job, > as follows: > {code:java} > boolean isMaponly = job.getNumReduceTasks() == 0; > if (keySchema != null) { > if (isMaponly) > AvroJob.setMapOutputKeySchema(job, keySchema); > else > AvroJob.setOutputKeySchema(job, keySchema); > } > if (valSchema != null) { > if (isMaponly) > AvroJob.setMapOutputValueSchema(job, valSchema); > else > AvroJob.setOutputValueSchema(job, valSchema); > } > {code} > Unfortunately, AvroKeyOutputFormat and AvroKeyValueOutputFormat never check > if the job is map only, and uses the OutputKeySchema and OutputValueSchema > regardless. > We can fix this by either > * Changing AvroKeyOutputFormat and AvroKeyValueOutputFormat to check if the > job is map only and use the appropriate schema. (Seems right) > * Change AvroMultipleOutputs to always use the OutputKeySchema and > OutputValueSchema -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira