[ https://issues.apache.org/jira/browse/MAPREDUCE-6205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14262063#comment-14262063 ]
sam liu commented on MAPREDUCE-6205: ------------------------------------ Gera, Yes, there is an existing deprecation deltas "mapred.map|reduce.child.java.opts" -> "mapreduce.map|reduce.java.opts". However, after I add the deprecation delta as " mapred.child.java.opts" -> "mapred.map|reduce.child.java.opts", the test TestWritableJobConf#testEmptyConfiguration() failed. In this test, it compares two configurations(conf and deser): -conf: JobConf conf = new JobConf(); -deser: Configuration deser = serDeser(conf); [A] Before I added the new deprecation delta, I got following output during running this test and the test passed. [A.1] The properties of 'conf': mapred.child.java.opts=-Xmx200m 2014-12-31 01:13:12,092 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1013)) - mapred.map.child.java.opts is deprecated. Instead, use mapreduce.map.java.opts mapred.map.child.java.opts=null 2014-12-31 01:13:12,107 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1013)) - mapred.reduce.child.java.opts is deprecated. Instead, use mapreduce.reduce.java.opts mapred.reduce.child.java.opts=null mapreduce.map.java.opts=null mapreduce.reduce.java.opts=null [A.2] The properties of 'deser': mapred.child.java.opts=-Xmx200m mapred.map.child.java.opts=null mapred.reduce.child.java.opts=null mapreduce.map.java.opts=null mapreduce.reduce.java.opts=null [B] After I added the new deprecation delta, I got following output during running this test and the test failed. [B.1] The properties of 'conf': 2014-12-31 01:06:22,313 INFO [main] Configuration.deprecation (Configuration.java:warnOnceIfDeprecated(1013)) - mapred.child.java.opts is deprecated. Instead, use mapred.map.child.java.opts, mapred.reduce.child.java.opts mapred.child.java.opts=-Xmx200m mapred.map.child.java.opts=null mapred.reduce.child.java.opts=null mapreduce.map.java.opts=null mapreduce.reduce.java.opts=null [B.2] The properties of 'deser': mapred.child.java.opts=-Xmx200m mapred.map.child.java.opts=-Xmx200m mapred.reduce.child.java.opts=-Xmx200m mapreduce.map.java.opts=-Xmx200m mapreduce.reduce.java.opts=-Xmx200m Furthermore, if I did not add the deprecation delta as "mapred.child.java.opts" -> "mapred.map|reduce.child.java.opts", but add the deprecation delta as "mapred.child.java.opts" -> "mapreduce.map|reduce.java.opts", the test TestWritableJobConf#testEmptyConfiguration() could pass. What's your opinion? Thanks! > Update the value of the new version properties of the deprecated property > "mapred.child.java.opts" > -------------------------------------------------------------------------------------------------- > > Key: MAPREDUCE-6205 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-6205 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: mrv2 > Affects Versions: trunk > Reporter: sam liu > Assignee: sam liu > Priority: Minor > Attachments: MAPREDUCE-6205.patch, MAPREDUCE-6205.patch > > > In current hadoop code, the old property "mapred.child.java.opts" is > deprecated and its new versions are MRJobConfig.MAP_JAVA_OPTS and > MRJobConfig.REDUCE_JAVA_OPTS. However, when user set a value to the > deprecated property "mapred.child.java.opts", hadoop won't automatically > update its new versions properties > MRJobConfig.MAP_JAVA_OPTS("mapreduce.map.java.opts") and > MRJobConfig.REDUCE_JAVA_OPTS("mapreduce.reduce.java.opts"). As hadoop will > update the new version properties for many other deprecated properties, we > also should support such feature on the old property > "mapred.child.java.opts", otherwise it might bring some imcompatible issues. -- This message was sent by Atlassian JIRA (v6.3.4#6332)