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

Baiqiang Zhao edited comment on HBASE-25861 at 5/27/21, 7:19 AM:
-----------------------------------------------------------------

Thanks [~weichiu] . So after Hadoop-3.3,  addDeprecation() can be called after 
the Configuration is created? The UT that passed before was because it was a 
bug before Hadoop-3.3? It seems that only need to modify the UT, let me fix it 
in HBASE-25928.


was (Author: deanz):
Thanks [~weichiu] . So after Hadoop3-.3,  addDeprecation() can be called after 
the Configuration is created? The UT that passed before was because it was a 
bug before Hadoop-3.3? It seems that only need to modify the UT, let me fix it 
in HBASE-25928.

> Correct the usage of Configuration#addDeprecation
> -------------------------------------------------
>
>                 Key: HBASE-25861
>                 URL: https://issues.apache.org/jira/browse/HBASE-25861
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0-alpha-1, 2.5.0
>            Reporter: Baiqiang Zhao
>            Assignee: Baiqiang Zhao
>            Priority: Major
>             Fix For: 3.0.0-alpha-1, 2.5.0
>
>
> When I was solving HBASE-25745 
> ([PR3139|https://github.com/apache/hbase/pull/3139]), I found that our use of 
> Configuration#addDeprecation API was wrong. 
>  
> At present, we will call Configuration#addDeprecation in the static block for 
> the deprecated configuration. But after testing, it is found that this does 
> not complete backward compatibility. When user upgrades HBase and does not 
> change the deprecated configuration to the new configuration, he will find 
> that the deprecated configuration does not effect, which may not be 
> consistent with expectations. The specific test results can be seen in the PR 
> above, and we can found the calling order of Configuration#addDeprecation is 
> very important.
>  
> Configuration#addDeprecation is a Hadoop API, looking through the Hadoop 
> source code, we will find that before creating the Configuration object, the 
> addDeprecatedKeys() method will be called first: 
> [https://github.com/apache/hadoop/blob/b93e448f9aa66689f1ce5059f6cdce8add130457/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/HdfsConfiguration.java#L34]
>  .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to