[
https://issues.apache.org/jira/browse/HBASE-22027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16789980#comment-16789980
]
Stig Rohde Døssing edited comment on HBASE-22027 at 3/11/19 9:42 PM:
---------------------------------------------------------------------
I only need obtainAndCacheToken. The other 4 methods expose protobufs or the
private AuthenticationTokenIdentifier/Token. I can't make any of the methods
private, as they need to be accessible to both
ClientTokenUtil.obtainAndCacheToken and the forwarding methods in TokenUtil.
How about I make the methods package private in hbase-client, leave the
forwarding from TokenUtil to ClientTokenUtil in place, and deprecate the
corresponding public methods in TokenUtil in hbase-server?
Edit: I figure the methods are still useful internally. Maybe move the 4
methods to another new class in hbase-client marked InterfaceAudience.Private,
and leave ClientTokenUtil as public with only the obtainAndCacheToken method
defined?
was (Author: srdo):
I only need obtainAndCacheToken. The other 4 methods expose protobufs or the
private AuthenticationTokenIdentifier/Token. I can't make any of the methods
private, as they need to be accessible to both
ClientTokenUtil.obtainAndCacheToken and the forwarding methods in TokenUtil.
How about I make the methods package private in hbase-client, leave the
forwarding from TokenUtil to ClientTokenUtil in place, and deprecate the
corresponding public methods in TokenUtil in hbase-server?
> Move non-MR parts of TokenUtil into hbase-client
> ------------------------------------------------
>
> Key: HBASE-22027
> URL: https://issues.apache.org/jira/browse/HBASE-22027
> Project: HBase
> Issue Type: Improvement
> Affects Versions: 2.1.3
> Reporter: Stig Rohde Døssing
> Priority: Major
> Attachments:
> 0001-HBase-22027-Split-non-MR-related-parts-of-TokenUtil-.patch,
> 0001-HBase-22027-Split-non-MR-related-parts-of-TokenUtil-.patch
>
>
> HBASE-14208 moved TokenUtil from hbase-client to hbase-server.
> I have a project depending on hbase-client 1.4.4, which I'd like to upgrade
> to 2.1.3. My project uses TokenUtil (specifically obtainAndCacheToken), which
> is included in hbase-client 1.4.4. At the same time I also have a dependency
> on Jetty 9.4, which is incompatible with the current version used by Hadoop.
> I can fix this for hbase-client by using hbase-shaded-client instead, since
> Jetty is shaded in this jar, but TokenUtil is only present in hbase-server as
> of 2.0.0. Since there is no hbase-shaded-server, I can't use TokenUtil and
> Jetty 9.4 at the same time.
> TokenUtil can be split into server-only parts, and a client relevant part
> that can go back to hbase-client. The TokenUtil in hbase-server can retain
> the moved methods, and delegate to the util in hbase-client if backward
> compatibility is a concern.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)