Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-25328

Add builder method to create Tags.

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.0-alpha-1, 2.2.7, 2.3.4, 2.5.0, 2.4.1
    • Component/s: None
    • Labels:
    • Hadoop Flags:


      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 ?




            • Assignee:
              shahrs87 Rushabh Shah
              shahrs87 Rushabh Shah


              • Created:

                Issue deployment