Hello to all.

I know that we can safely remove any APIs from a InterfaceAudience.Private 
class and the same is described in the HBase book.

Now consider a case (I did not find this mentioned in our semvar),
There is a class 'A' with InterfaceAudience.Private and class 'B' with 
InterfaceAudience.Public and then there is a public API in class 'B' which 
returns an instance of class 'A'. (We missed to mark the public method in class 
'B' as deprecated when we marked the class 'A' as InterfaceAudience.Private).

Now the question is, can we remove the public APIs from class 'A' without 
marking them deprecated ?

I think we should not remove it directly, it will break the users using 
these(removed) public methods from class 'A'.
P.S: This point came up  in HBASE-14769.

Regards,
Ashish Singhi

Reply via email to