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