We have lots of examples of including non-Public stuff in Public APIs.
we have docs that advise folks to be wary on relying on them beyond
opaque symbols.

ref: http://hbase.apache.org/book.html#hbase.client.api.surface

On Thu, Sep 21, 2017 at 3:21 PM, Josh Elser <els...@apache.org> wrote:
> I was going to suggest LimitedPrivate in my original, but this doesn't make
> sense as we're exposing Public API via CellUtil.
>
> It seems odd to me that we wouldn't treat the cell tags as a supported API
> call. However, I'm happy to remain "confused" if the rest of folks don't
> consider tags to be intended for users :)
>
>
> On 9/21/17 3:15 PM, Ted Yu wrote:
>>
>> Can we mark Tag LimitedPrivate ?
>>
>> We know how ATS uses Tags so it should be straight forward to keep their
>> usage intact.
>>
>> On Thu, Sep 21, 2017 at 12:03 PM, Josh Elser <els...@apache.org> wrote:
>>
>>> Hiya,
>>>
>>> (Background, I'm starting what is likely to be an onerous task of looking
>>> through downstream components and seeing what is broken with the latest
>>> hbase-2.0.0*)
>>>
>>> Looking at YARN's use of HBase for the Application TimelineServer, I see
>>> that they're relying on the Tag interface.
>>>
>>> Presently, Tag is marked as Private, yet we expose it via the Public
>>> CellUtil.
>>>
>>> My gut reaction is that we should bump Tag up Public since the intent is
>>> for downstream users to, ya know, use those Tags. Any objections?
>>>
>>> If we don't want to expose Tag, we should make a pass over the Public
>>> methods and mark them as Private (so not as to provide a Public method
>>> with
>>> Private objects). CellUtil#getTag(Cell, byte) would be one such example.
>>>
>>> - Josh
>>>
>>
>

Reply via email to