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

Clint Morgan commented on HBASE-2256:
-------------------------------------

Yes, I'm sure that the millisecond nature of timestamps comes in to play here. 
However, I'm not setting any timestamps, and was under the impression that 
hbase would always reflect the state of the last operation done. Is this not a 
valid assumption?

A related question. If I do two puts (w/latest timestamp), am I guaranteed to 
see the last one? I'm sure many users operate under this assumption.

So, for a given row, I'm doing a delete of an entire row, then a put of two 
cells in different families. Then I do a get.

Most times I'll see all of the latest put. Sometimes I see nothing for that 
row. Sometimes I see just one family/cell from the previous put. It seems with 
0.20.2 I would either get all the row, or none. However with 0.20.3 I will see 
all or just one family. Returning just one family seems even more wrong.

So suppose I wish to wipe existing cells of a row, then write some new cells. 
Is the only way to reliably do this to put a 1 ms pause between the delete and 
the put? This would hurt my throughput...



> Delete row, followed quickly to put of the same row will sometimes fail.
> ------------------------------------------------------------------------
>
>                 Key: HBASE-2256
>                 URL: https://issues.apache.org/jira/browse/HBASE-2256
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.3
>            Reporter: Clint Morgan
>         Attachments: hbase-2256.patch
>
>
> Doing a Delete of a whole row, followed immediately by a put to that row will 
> sometimes miss a cell. Attached is a test to provoke the issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to