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