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