Chia-Ping Tsai created HBASE-19535:
--------------------------------------
Summary: 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: 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
(v6.4.14#64029)