[
https://issues.apache.org/jira/browse/HBASE-15978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15325872#comment-15325872
]
Jurriaan Mous commented on HBASE-15978:
---------------------------------------
I also experimented with a version that is able to work with Guava
ListenableFutures which leaks nothing and adds a addListener(Runnable,
Executor). It has the advantage of choosing on which Executor to run the
Runnable. But without leaking it cannot use the utilities of Guava to add
Callbacks. I would prefer to choose a standard implementation and be able to
built upon that. Are we able to leak implementations? Or do we need to build
our own ListenableFuture infrastructure? (See Futures class of Guava)
> Netty API leaked into public API
> --------------------------------
>
> Key: HBASE-15978
> URL: https://issues.apache.org/jira/browse/HBASE-15978
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 2.0.0
> Reporter: Nick Dimiduk
> Assignee: Jurriaan Mous
> Priority: Blocker
> Attachments: HBASE-15978.patch
>
>
> Noticed out public
> {{[client.Future|http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Future.html]}}
> interface extends Netty, which means our public API is bound to a specific
> Netty API and release. IIRC we were minimizing our public-facing surface area
> and asserting ownership over the whole of it so as to control our
> compatibility. Ie, we've done this with Protobuf as well. Not sure if this
> has made it back to other branches.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)