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 Mon, 15 Aug 2016 06:33:22 GMT

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

Andrew Purtell edited comment on HBASE-15982 at 8/15/16 6:32 AM:
-----------------------------------------------------------------

Here's a new wrinkle. Now that we've banned jsr305, some versions of Guava cannot be used
because they cause a compilation failure at ReplicationEndpoint:
{noformat}
[ERROR] .m2/repository/com/google/guava/guava/14.0.1/guava-14.0.1.jar
    (com/google/common/util/concurrent/AbstractService.class): warning:
    Cannot find annotation method 'value()' in type 'GuardedBy': class
    file for javax.annotation.concurrent.GuardedBy not found
{noformat}



was (Author: apurtell):
Here's a new wrinkle. Now that we've banned jsr305-findbugs, some versions of Guava cannot
be used because they cause a compilation failure at ReplicationEndpoint:
{noformat}
[ERROR] .m2/repository/com/google/guava/guava/14.0.1/guava-14.0.1.jar
    (com/google/common/util/concurrent/AbstractService.class): warning:
    Cannot find annotation method 'value()' in type 'GuardedBy': class
    file for javax.annotation.concurrent.GuardedBy not found
{noformat}


> 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.4.0, 0.98.22
>
>
> 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