You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Rushabh Shah (Jira)" <ji...@apache.org> on 2020/11/24 17:19:00 UTC
[jira] [Created] (HBASE-25328) Make PrivateCellUtil annotation as
LimitatePrivate.
Rushabh Shah created HBASE-25328:
------------------------------------
Summary: Make PrivateCellUtil annotation as LimitatePrivate.
Key: HBASE-25328
URL: https://issues.apache.org/jira/browse/HBASE-25328
Project: HBase
Issue Type: Improvement
Reporter: Rushabh Shah
Assignee: Rushabh Shah
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 ?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)