hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19535) Introduce a new annotation to say there is no BC guarantee in the inheritance
Date Fri, 22 Dec 2017 17:00:01 GMT

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

stack commented on HBASE-19535:

This should be floated on the dev list I'd say.

The justification is a little subtle I'd say. I don't think this has to make 2.0 (Not saying
no to it though).


> Introduce a new annotation to say there is no BC guarantee in the inheritance
> -----------------------------------------------------------------------------
>                 Key: HBASE-19535
>                 URL: https://issues.apache.org/jira/browse/HBASE-19535
>             Project: HBase
>          Issue Type: Task
>            Reporter: Chia-Ping Tsai
>            Priority: Blocker
>             Fix For: 2.0.0
> We have added many Public "read-only" interface in 2.0 to save user from the dangerous
operations. For example, TableDescriptor, ColumnFamilyDescriptor, Region, Store, etc. However,
this change make us be hard to enhance these interface (ie. add the new APIs)  because the
BC will be broken for the user having the subclass of these interfaces. In contrast with Cell,
Filter, and coprocessor, these new interfaces are NOT designed to be a extendable class for
user but we have no explicit  caveat. As I see it, it is necessary to introduce an new annotation
to explicitly say "you CAN extend this Public class with the BC guarantee". On the other hand,
user should not extend the Public classes which don't have the such annotation.

This message was sent by Atlassian JIRA

View raw message