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

Sudharsan Sampath commented on HADOOP-7425:
-------------------------------------------

Hi Steven,

Yes. You are right. This issue is seen on the trunk too. But to me, configuring 
twice should not be an issue but processing the configured property without 
realizing that the same configuration has been processed already could be 
avoided.

Will it be ok if instead of maintaining a List, we maintain a Set of keyspecs 
in the KeyFieldHelper and provide an equals method that returns true if its 
params match exactly as the passed in. The downside is that if some job wants 
this kind of double hashing done on the same keyspec that would be difficult 
asking for a custom partitioner. But I doubt if there would be such a scenario.

This would also ensure we get the correct partition and increase performance as 
we avoid a hash invoke for every record. 

> ReflectionUtils.setConf would configure anything Configurable twice
> -------------------------------------------------------------------
>
>                 Key: HADOOP-7425
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7425
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 0.21.0, 0.23.0
>            Reporter: steven zhuang
>         Attachments: test.tar
>
>
> In  the setConf method of org.apache.hadoop.util.ReflectionUtils, any 
> instance of Configurable would be configured twice.
> In 0.21.0, KeyFieldBasedPartitioner implements the Configurable interface. 
> When configured twice, it get two KeyDescription and gives out wrong 
> partition number. 
> public static void setConf(Object theObject, Configuration conf) {
>     if (conf != null) {
>       if (theObject instanceof Configurable) {
>         ((Configurable) theObject).setConf(conf);
>       }
>       setJobConf(theObject, conf);
>     }
>   }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to