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

Thomas D'Silva commented on PHOENIX-5219:
-----------------------------------------

I filed HBASE-22148 to provide an API to set the timestamp of a cell. AFAIK we 
don't have a better solution. We were trying to handle the case when the same 
Put occurs with the same time stamp from different clients. In order to handle 
this we set the timestamp of the data table mutation on the server side after 
the row has been locked (PHOENIX-4089 has more details). 

> Fix ConcurrentMutationsIT testLockUntilMVCCAdvanced and 
> testRowLockDuringPreBatchMutateWhenIndexed failures on the master branch
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5219
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5219
>             Project: Phoenix
>          Issue Type: Test
>            Reporter: Thomas D'Silva
>            Assignee: Thomas D'Silva
>            Priority: Major
>             Fix For: 5.1.0
>
>         Attachments: PHOENIX-5219.patch
>
>
> These tests are failing because when we set the timestamp in 
> {{Indexer.preBatchMutateWithExceptions}} we call 
> {{KeyValueUtil.ensureKeyValues}} on the list of cells and then call 
> {{KeyValue.getTimestampOffset}}
> Pre 2.0 the cells objects are NoTagsKeyValue (which extend KeyValue). In 2.0 
> they are NoTagsByteBufferKeyValue (which doesn't extend KeyValue) so 
> {{KeyValueUtil.ensureKeyValues}} returns a new list of objects on which we 
> set the timestamp. 
> The fix us to use  {{CellUtil.setTimestamp}} to the set the timestamp 
> directly on the cell. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to