Re: Introduce a new annotation to say there is no BC guarantee in the inheritance

2018-04-22 Thread Chia-Ping Tsai
hi Lars I just reply the Q you raised in HBASE-19746. (smile) In short, it is impossible to keep the BC for the scenario you asked. That is way I prefer to introduce a new annotation to break the BC of inheritance. On 2018/04/22 04:18:03, Lars Francke wrote: > Sorry

Re: Introduce a new annotation to say there is no BC guarantee in the inheritance

2018-04-21 Thread Lars Francke
Sorry to dig up this old thread. I've also just commented on < https://issues.apache.org/jira/browse/HBASE-19746> The book says: > MAJOR version when you make incompatible API changes, So do we really need to keep BC between major versions? How else would we ever add new methods to interfaces

[jira] [Created] (HBASE-19535) Introduce a new annotation to say there is no BC guarantee in the inheritance

2017-12-17 Thread Chia-Ping Tsai (JIRA)
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

Re: Introduce a new annotation to say there is no BC guarantee in the inheritance

2017-12-14 Thread Anoop John
Good point Chia. Interfaces like Region, TableDesc are not meant for own impl by the users or CP users. These are just read only interfaces. Would be best if we can have a way to say so.We should distinguish an exposed interface/class to say whether this is just read only or allowed to be

Re: Introduce a new annotation to say there is no BC guarantee in the inheritance

2017-12-14 Thread Ted Yu
We use @InterfaceStability.Stable in our codebase. If backward compatibility is kept, isn't the class / interface Stable ? Cheers On Thu, Dec 14, 2017 at 8:48 PM, Chia-Ping Tsai wrote: > hi folks, > > We have added many Public "read-only" interface in 2.0 to save user

Introduce a new annotation to say there is no BC guarantee in the inheritance

2017-12-14 Thread Chia-Ping Tsai
hi folks, 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