[
https://issues.apache.org/jira/browse/HBASE-22148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16808222#comment-16808222
]
Thomas D'Silva commented on HBASE-22148:
----------------------------------------
Before PHOENIX-4089 we were setting the timestamp of mutations from the client
(based on when we resolved the metadata of the table to which we were writing).
We had issues where the index table was getting out of sync with the data table
when there were concurrent updates to the same row. I'm not very familiar with
the Indexing coprocessor, maybe [~vincentpoon] knows the exact reason why this
was happening?
In PHOENIX-4089 we changed this so that the timestamp of mutations gets set on
the server via the Indexer coprocessor. After all the rows in a mini batch have
been locked the timestamp of each cell of every row gets set to the same value.
The index mutations are created by the Indexer coprocessor get the same
timestamp as the corresponding data table mutations.
> Provide an alternative to CellUtil.setTimestamp
> ------------------------------------------------
>
> Key: HBASE-22148
> URL: https://issues.apache.org/jira/browse/HBASE-22148
> Project: HBase
> Issue Type: New Feature
> Components: API, Coprocessors
> Affects Versions: 3.0.0
> Reporter: Thomas D'Silva
> Priority: Blocker
> Labels: phoenix
> Fix For: 3.0.0
>
>
> {{CellUtil.setTimestamp}} has been deprecated in 2.0 and is marked for
> removal in 3.0. Phoenix currently uses this api to set the timestamp of cells
> in its indexing coprocessor for tables that have mutable indexes. We can't
> use the CellBuilder api since this involves creating a copy of the cell which
> will be expensive.
> FYI @stack
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)