[
https://issues.apache.org/jira/browse/HBASE-19535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Zhang updated HBASE-19535:
------------------------------
Fix Version/s: 4.0.0-alpha-1
(was: 3.0.0-beta-2)
> 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: Critical
> Fix For: 4.0.0-alpha-1
>
>
> 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
(v8.20.10#820010)