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

Andrew Purtell commented on HBASE-15982:
----------------------------------------

Here's what happens if you move {{guava.version}} up to 14.0.1, for example:

hbase-server/src/main/java/org/apache/hadoop/hbase/security/visibility/VisibilityReplicationEndpoint.java:42,7
 error: VisibilityReplicationEndpoint is not abstract and does not override 
abstract method addListener(Listener,Executor) in Service

(0.98.20)

Representative of the problem every replication endpoint plugin will face, 
repeatedly, as we shift Guava versions around.

> Interface ReplicationEndpoint extends Guava's Service
> -----------------------------------------------------
>
>                 Key: HBASE-15982
>                 URL: https://issues.apache.org/jira/browse/HBASE-15982
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Andrew Purtell
>             Fix For: 2.0.0, 1.3.0, 1.4.0, 0.98.21
>
>
> We have Guava's Service leaking into the LimitedPrivate interface 
> ReplicationEndpoint:
> {code}
> public interface ReplicationEndpoint extends Service, 
> ReplicationPeerConfigListener
> {code}
> This required a private patch when I updated Guava for our internal 
> deployments. This is going to be a problem for us for long term maintenance 
> and implenters of pluggable replication endpoints. LP is only less than 
> public by a degree. We shouldn't leak types from third part code into either 
> Public or LP APIs in my opinion. Let's fix.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to