LimitedPrivate and Public are functionally the same in that they are not 
Private, so compatibility breaking changes must go through a process.  At some 
future time when someone wants to make a breaking change to the LP interface, 
we will still take the same steps to deprecate and then change it as we do for 
Public… usually. 

The difference might be, then, how hard we would work to avoid breaking 
changes. Depending on the proposed change retaining compatibility could be more 
work than the change itself or might block the change because it is too much 
effort. With Public there is no question but with LP _maybe_ we might make an 
exception. With this in mind it is in our interest that only the smallest 
possible set of core interfaces should be Public and everything else either LP 
or Private. 

> On Jun 5, 2024, at 6:14 PM, 张铎 <palomino...@gmail.com> wrote:
> 
> Thanks Nick.
> 
> I've filed HBASE-28639 for promoting SyncTable.
> 
> For me I agree that maybe IA.LimitedPrivate is better, as we do not
> expect users to use its public method in code. But since they are
> already public, we need a long deprecation cycle to mark them other
> than IA.Public...
> 
> Nick Dimiduk <ndimi...@apache.org> 于2024年6月6日周四 02:14写道:
>> 
>> I agree that if these are tools we ship to users, they should be exposed in
>> the driver. However, probably we want to keep them LimitedPrivate(Tool)
>> instead of making them fully IA.Public.
>> 
>> -n
>> 
>>> On Wed, 5 Jun 2024 at 12:49, 张铎(Duo Zhang) <palomino...@gmail.com> wrote:
>>> 
>>> OK, then let's file an issue to promote it to IA.Public and add it to
>>> Driver.
>>> 
>>> Thanks.
>>> 
>>> Pankaj Kumar <pankajkumarbi...@gmail.com> 于2024年6月5日周三 17:48写道:
>>>> 
>>>> It looks like a typo and unintentional.
>>>> 
>>>> Regards,
>>>> Pankaj
>>>> 
>>>> On Wed, 5 Jun, 2024, 2:55 pm Wellington Chevreuil, <
>>>> wellington.chevre...@gmail.com> wrote:
>>>> 
>>>>> It seems it was marked that way by HBASE-20212, which bulk marked many
>>>>> public classes as I.A. Private, as part of the efforts to replace the
>>>>> old TestInterfaceAudienceAnnotations validation by warbucks plugin,
>>> however
>>>>> I don't see any discussions about which I.A. level should be applied to
>>>>> each class, so it looks unintentional.
>>>>> 
>>>>> Em qua., 5 de jun. de 2024 às 09:57, 张铎(Duo Zhang) <
>>> palomino...@gmail.com>
>>>>> escreveu:
>>>>> 
>>>>>> Noticed this when trying to add more UTs for it in HBASE-28636.
>>>>>> 
>>>>>> https://hbase.apache.org/book.html#hashtable.synctable
>>>>>> 
>>>>>> We do have a section in our ref guide to explain the algorythm for
>>>>>> this tool and also how to make use of it. But I noticed that in our
>>>>>> code base it is marked as IA.Private, and it is not exposed in our
>>> map
>>>>>> reduce Driver class.
>>>>>> 
>>>>>> Is this intentional?
>>>>>> 
>>>>>> Thanks.
>>>>>> 
>>>>> 
>>> 

Reply via email to