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

Andrew Purtell edited comment on HBASE-20884 at 7/13/18 5:33 PM:
-----------------------------------------------------------------

+1

Regarding branch-1, despite the annotation, this is a utility class meant for 
internal project use. Remove the unused methods in Base64 on branch-1, change 
its annotation to Private, and note the change with a release note. Do it for 
all branch-1 releases. Nobody should be using this class in their application. 
It shouldn't be public. Yes this breaks our compatibility guidelines but we 
shouldn't allow policy to straitjacket best judgement about code hygiene and 
potential safety risks. This class isn't maintained like a public library. 


was (Author: apurtell):
+1

Regarding branch-1, despite the annotation, this is a utility class meant for 
internal project use. Remove the unused methods in Base64 on branch-1, change 
its annotation to Private, and note the change with a release note. Do it for 
all branch-1 releases. Nobody should be using this class in their application. 
It shouldn't be public. 

> Replace usage of our Base64 implementation with java.util.Base64
> ----------------------------------------------------------------
>
>                 Key: HBASE-20884
>                 URL: https://issues.apache.org/jira/browse/HBASE-20884
>             Project: HBase
>          Issue Type: Task
>            Reporter: Mike Drob
>            Assignee: Mike Drob
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HBASE-20884.master.001.patch
>
>
> We have a public domain implementation of Base64 that is copied into our code 
> base and infrequently receives updates. We should replace usage of that with 
> the new Java 8 java.util.Base64 where possible.
> For the migration, I propose a phased approach.
> * Deprecate on 1.x and 2.x to signal to users that this is going away.
> * Replace usages on branch-2 and master with j.u.Base64
> * Delete our implementation of Base64 on master.
> Does this seem in line with our API compatibility requirements?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to