Hi Duo,

Sorry for the tardy response.

I think that we need to purge IA.Private classes from public interfaces, so
this is a good project in principle. This should be done for the 3.0
release?

Maybe we should also build an auditing tool that can find these leaking
symbols. Or we can repurpose the API checker implementation for this
purpose?

Thanks,
Nick

On Wed, Jul 3, 2024 at 10:57 AM 张铎(Duo Zhang) <palomino...@gmail.com> wrote:

> While cleaning up Cell related APIs, I found that there are still
> several classes under hbase-mapreduce use KeyValue in public facing
> APIs, like TextSortReducer, PutSortReducer, etc.
>
> KeyValue is now IA.Private, I think we should change to use Cell instead.
>
> Since KeyValue is a cell, I do not think changing the declaration
> directly will actually break anything.
>
> And we could claim that, before the next major release, the actual
> output type is still KeyValue, although we have changed the
> declaration type. In the next major release, we may change the actual
> output instances to other Cell types so you should change your
> OutputFormat implementation if it requires KeyValue type. If you use
> HFileOutputFormat2, there will be no problem at all.
>
> Thoughts?
>
> Thanks.
>

Reply via email to