Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
None
-
Reviewed
Description
In 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 PrivateCellUtil class.
Below are the methods we need in phoenix.
1. PrivateCellUtil#createCell(Cell cell, List<Tag> tags) 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. PrivateCellUtil.getTags(Cell cell) 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 ?
Attachments
Issue Links
- links to