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

Add builder method to create Tags.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-1, 2.2.7, 2.3.4, 2.5.0, 2.4.1
    • 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

          Activity

            People

              shahrs87 Rushabh Shah
              shahrs87 Rushabh Shah
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: