[
https://issues.apache.org/jira/browse/HIVE-17129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16105359#comment-16105359
]
Sahil Takiar commented on HIVE-17129:
-------------------------------------
Technically users can use whatever Hive classes they want, as long as the class
declaration is public, e.g. {{public class CreateTableEvent}}. The annotations
don't actually stop users from using a class, they are just there to inform
users what classes they *should* (or shouldn't) be using.
If {{MetaStoreEventListener}} should be public, then I suggest we make
{{ListenerEvent}} and all classes used by {{MetaStoreEventListener}} public
too. Generally, if an interface should be marked as Public, then all classes
used by the interface should also be Public. For example, if we make
{{MetaStoreEventListener}} then {{ConfigChangeEvent}}, {{CreateTableEvent}},
{{DropTableEvent}}, etc. should be Public too.
> Increase usage of InterfaceAudience and InterfaceStability annotations
> -----------------------------------------------------------------------
>
> Key: HIVE-17129
> URL: https://issues.apache.org/jira/browse/HIVE-17129
> Project: Hive
> Issue Type: Improvement
> Reporter: Sahil Takiar
> Assignee: Sahil Takiar
>
> The {{InterfaceAudience}} and {{InterfaceStability}} annotations were added a
> while ago to mark certain classes as available for public use. However, they
> were only added to a few classes. The annotations are largely missing for
> major APIs such as the SerDe and UDF APIs. We should update these interfaces
> to use these annotations.
> When done in conjunction with HIVE-17130, we should have an automated way to
> prevent backwards incompatible changes to Hive APIs.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)