[ 
https://issues.apache.org/jira/browse/HBASE-27996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17748236#comment-17748236
 ] 

Bryan Beaudreault commented on HBASE-27996:
-------------------------------------------

[~apurtell] do you think this is reasonable to do? I looked back at 
https://issues.apache.org/jira/browse/HBASE-12083 which changed HTable's 
InterfaceAudience and I don't think it was a conscious decision to keep this. 
In fact, the javadoc on HTable was updated to say:
{code:java}
* HTable is no longer a client API. Use {@link Table} instead. It is marked
* InterfaceAudience.Private indicating that this is an HBase-internal class as 
defined in <a href=
* 
"https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/InterfaceClassification.html";>Hadoop
* Interface Classification</a> There are no guarantees for backwards source / 
binary compatibility
* and methods or class can change or go away without deprecation. {code}
However, if we were being strict to the yetus InterfaceAudience rules, it's 
possible to add a stability to a private class: 
[https://github.com/apache/yetus/blob/rel/0.3.0/audience-annotations-component/audience-annotations/src/main/java/org/apache/yetus/audience/InterfaceStability.java#L35-L36]

In my experience and based on our public guidelines in the book, I think this 
annotation is not aligned with how we develop so can be removed. But wondering 
what your take is.

> Remove InterfaceStability.Stable from HTable
> --------------------------------------------
>
>                 Key: HBASE-27996
>                 URL: https://issues.apache.org/jira/browse/HBASE-27996
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Priority: Major
>
> HTable is InterfaceAudience.Private, but the InterfaceStability.Stable 
> annotation was not removed when that was changed. Based on our compatibility 
> guidelines, IS.Stable only applies to IA.Public classes. This annotation is 
> confusing to new developers who might work on modifying HTable
> Reference: https://hbase.apache.org/book.html#_interface_classifications



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to