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)