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

rahul k singh commented on HADOOP-6105:
---------------------------------------

To make the above proposals more clear:

for example:
==========
A (a deprecated key) 
B(new key mapping for A) , 
SA (setValueForA) , 
SB(setValueForB) ,
GA(get("A)) 
GB(get("B")).

1. Always maintain new keys only. At the time of loading configuration xml , if 
A and B are present , we simply , replace B's values with A's value.
* Advantages with this approach:
 ** The whole system is consistent. we always maintain the single set of values 
, hence whole behavior is deterministic w.r.t SA or SB which ever is called 
latest.
* Disadvantage:
  ** Deprecated values would be over written. so if we call SB then A's values 
are also changed. //Is this a issue??

2.Always give preference to deprecated keys. If we have both A and B present in 
configuration , give preference to A always.
* Advantage:
** System is deterministic as we always get deprecated value if present.
* Disadvantage: 
** GB would check if GA is available and if yes , would return the A's 
values.So if user calls SB , and then calls GB , they would expect B's values, 
instead they would get A's value 

Any comments ?


> Provide a way to automatically handle backward compatibility of deprecated 
> keys
> -------------------------------------------------------------------------------
>
>                 Key: HADOOP-6105
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6105
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: conf
>            Reporter: Hemanth Yamijala
>
> There are cases when we have had to deprecate configuration keys. Use cases 
> include, changing the names of variables to better match intent, splitting a 
> single parameter into two - for maps, reduces etc.
> In such cases, we typically provide a backwards compatible option for the old 
> keys. The handling of such cases might typically be common enough to actually 
> add support for it in a generic fashion in the Configuration class. Some 
> initial discussion around this started in HADOOP-5919, but since the project 
> split happened in between we decided to open this issue to fix it in common.

-- 
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