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)

Reply via email to