PHOENIX-6213 phoenix project is using Cell Tag feature to add some metadata for delete mutations. We are adding Cell Tags in co-processor but we need some util methods available in class.
Below are the methods we need in phoenix.
1. method has an api which will accept an existing Cell and list of tags to create a new cell.
But RawCellBuilder has a builder method which doesn't have any method which accepts a cell. I need to explicitly convert my input cell by extracting all fields and use the builder methods (like setRow, setseFamily, etc) and then use the build method.
2. returns a list of existing tags which I want to use and add a new tag.
But RawCell#getTags() returns Iterator<Tag> which then I have to iterate over them and depending on whether they are byte buffer backed or array backed, I need to convert them to List since RawCellBuilder#setTags accepts List of Tags. We are already doing this conversion in PrivateCellUtil#getTags method.
All these conversion utility methods needs to be duplicated in phoenix project also.
Is it reasonable to make PrivateCellUtil method LimitedPrivate with HBaseInterfaceAudience as COPROC ?