You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Lars George (JIRA)" <ji...@apache.org> on 2015/08/19 16:31:46 UTC

[jira] [Created] (HBASE-14255) Simplify Cell creation post 1.0

Lars George created HBASE-14255:
-----------------------------------

             Summary: Simplify Cell creation post 1.0
                 Key: HBASE-14255
                 URL: https://issues.apache.org/jira/browse/HBASE-14255
             Project: HBase
          Issue Type: Improvement
          Components: Client
    Affects Versions: 1.0.0, 2.0.0
            Reporter: Lars George


After the switch to the new Cell based client API, and making KeyValue private (but especially as soon as DBB backed Cells land) it is rather difficult to create a {{Cell}} instance. I am using this now:

{code}
 @Override
  public void postGetOp(ObserverContext<RegionCoprocessorEnvironment> e,
    Get get, List<Cell> results) throws IOException {
    Put put = new Put(get.getRow());
    put.addColumn(get.getRow(), FIXED_COLUMN, Bytes.toBytes(counter.get()));
    CellScanner scanner = put.cellScanner();
    scanner.advance();
    Cell cell = scanner.current();
    LOG.debug("Adding fake cell: " + cell);
    results.add(cell);
  }
{code}

That is, I have to create a {{Put}} instance to add a cell and then retrieve its instance. The {{KeyValue}} methods are private now and should not be used. Create a CellBuilder helper?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)