[ 
https://issues.apache.org/jira/browse/HBASE-19607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16323514#comment-16323514
 ] 

Chia-Ping Tsai commented on HBASE-19607:
----------------------------------------

Similar to setSeq? IOE is ok to me.
{code}
public static void setSequenceId(Cell cell, long seqId) throws IOException {
    if (cell instanceof ExtendedCell) {
      ((ExtendedCell) cell).setSequenceId(seqId);
    } else {
      throw new IOException(new UnsupportedOperationException(
          "Cell is not of type " + ExtendedCell.class.getName()));
    }
  }
{code}

> throw the exception if memstore is incompetent to do the deep clone for cell
> ----------------------------------------------------------------------------
>
>                 Key: HBASE-19607
>                 URL: https://issues.apache.org/jira/browse/HBASE-19607
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: Yung-An He
>            Priority: Trivial
>
> We must to clone the cell since the cell is backed by the reusable byte 
> array. Also, we assume all cells passed to AbstractMemStore is of 
> ExtendedCell. Not only is the type check unnecessary, but it also confuses 
> the readers. 
> {code:title=AbstractMemStore.java}
>   private static Cell deepCopyIfNeeded(Cell cell) {
>     if (cell instanceof ExtendedCell) {
>       return ((ExtendedCell) cell).deepClone();
>     }
>     return cell;
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to