XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 2.0.0-beta-1, 2.0.0
    • Coprocessors
    • None
    • Incompatible change, Reviewed
    • Hide
      This JIRA aims at exposing Tags for Coprocessor usage.
      Tag interface is now exposed to Coprocessors and CPs can make use of this interface to create their own Tags.
      RawCell is a new interface that is a subtype of Cell and that is exposed to CPs. RawCell has the following APIs

      List<Tag> getTags()
      Optional<Tag> getTag(byte type)
      byte[] cloneTags()

      The above APIs helps to read tags from the Cell.

      CellUtil#createCell(Cell cell, List<Tag> tags)
      CellUtil#createCell(Cell cell, byte[] tags)
      CellUtil#createCell(Cell cell, byte[] value, byte[] tags)
      are deprecated.
      If CPs want to create a cell with Tags they can use the RegionCoprocessorEnvironment#getCellBuilder() that returns an ExtendedCellBuilder.
      Using ExtendedCellBuilder the CP can create Cells with Tags. Other helper methods to work on Tags are available as static APIs in Tag interface.
      Show
      This JIRA aims at exposing Tags for Coprocessor usage. Tag interface is now exposed to Coprocessors and CPs can make use of this interface to create their own Tags. RawCell is a new interface that is a subtype of Cell and that is exposed to CPs. RawCell has the following APIs List<Tag> getTags() Optional<Tag> getTag(byte type) byte[] cloneTags() The above APIs helps to read tags from the Cell. CellUtil#createCell(Cell cell, List<Tag> tags) CellUtil#createCell(Cell cell, byte[] tags) CellUtil#createCell(Cell cell, byte[] value, byte[] tags) are deprecated. If CPs want to create a cell with Tags they can use the RegionCoprocessorEnvironment#getCellBuilder() that returns an ExtendedCellBuilder. Using ExtendedCellBuilder the CP can create Cells with Tags. Other helper methods to work on Tags are available as static APIs in Tag interface.

    Description

      We need to make tags as LimitedPrivate as some use cases are trying to use tags like timeline server. The same topic was discussed in dev@ and also in HBASE-18995.
      Shall we target this for beta1 - cc saint.ack@gmail.com.
      So once we do this all related Util methods and APIs should also move to LimitedPrivate Util classes.

      Attachments

        1. HBASE-19092_005.patch
          125 kB
          ramkrishna.s.vasudevan
        2. HBASE-19092_005_branch_2.patch
          126 kB
          ramkrishna.s.vasudevan
        3. HBASE-19092_004.patch
          124 kB
          ramkrishna.s.vasudevan
        4. HBASE-19092_4.patch
          123 kB
          ramkrishna.s.vasudevan
        5. HBASE-19092_3.patch
          123 kB
          ramkrishna.s.vasudevan
        6. HBASE-19092_002.patch
          122 kB
          ramkrishna.s.vasudevan
        7. HBASE-19092_001.patch
          122 kB
          ramkrishna.s.vasudevan
        8. HBASE-19092.branch-2.0.02.patch
          125 kB
          ramkrishna.s.vasudevan
        9. HBASE-19092_002-branch-2.patch
          125 kB
          ramkrishna.s.vasudevan
        10. HBASE-19092-branch-2_5.patch
          125 kB
          ramkrishna.s.vasudevan
        11. HBASE-19092-branch-2_5.patch
          125 kB
          ramkrishna.s.vasudevan
        12. HBASE-19092_001-branch-2.patch
          147 kB
          ramkrishna.s.vasudevan
        13. HBASE-19092-branch-2.patch
          3 kB
          ramkrishna.s.vasudevan

        Issue Links

          Activity

            People

              ram_krish ramkrishna.s.vasudevan
              ram_krish ramkrishna.s.vasudevan
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: