hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-15982) Interface ReplicationEndpoint extends Guava's Service
Date Wed, 08 Jun 2016 21:46:21 GMT

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

Andrew Purtell edited comment on HBASE-15982 at 6/8/16 9:46 PM:
----------------------------------------------------------------

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

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
failureCause() in Service

(0.98.20)

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


was (Author: apurtell):
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)

Mime
View raw message