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

Alejandro Abdelnur commented on HADOOP-8167:
--------------------------------------------

Options that I see to address this:

1* set(dK, V) should store (dK, V) and get(nK) should do a reverse look up if 
nK is not found

ISSUE: This may break new code that iterates and expects nK in the iterator.

2* set(dK, V) & set(nK, V) should store both (dK, V) and (nK, V)

ISSUE: increases the number of stored key/values.

3* keep current set/get logic and make iterator() to return 'duplicated' 
entries for deprecated values (dK, V) & (nK, V)

ISSUE: complexity in the iterator logic as well.

4* keep track in Configuration of the key used regardless of being deprecated 
or not and return those on iterators()

ISSUE: it will require Configuration to have an additional data structure to 
keep track of deprecate values being used. This will add more complexity to the 
configuration.


I'm inclined to do either #2 or #3.

Thoughts?
                
> Configuration deprecation logic breaks backwards compatibility
> --------------------------------------------------------------
>
>                 Key: HADOOP-8167
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8167
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: conf
>    Affects Versions: 0.24.0, 0.23.3
>            Reporter: Alejandro Abdelnur
>            Assignee: Alejandro Abdelnur
>            Priority: Blocker
>             Fix For: 0.23.3
>
>
> The deprecated Configuration logic works as follows:
> For a dK deprecated key in favor of nK:
> * on set(dK, V), it stores (nK,V)
> * on get(dK) it does a reverseLookup of dK to nK and looks for get(nK)
> While this works fine for single set/get operations, the iterator() method 
> that returns an iterator of all config key/values, returns only the new keys.
> This breaks applications that did a set(dK, V) and expect, when iterating 
> over the configuration to find (dK, V).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to