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

Lars Hofhansl commented on HBASE-8626:
--------------------------------------

The semantics of RowMutation are that all edits are applied in one MVCC 
snapshot and written to a single WALEdit. There are no assumptions about 
Put/Delete timestamps whatsoever.

The client is free to set timestamps as desired. The Vinod's example above the 
Puts just need to have a timestamp higher than the Delete. The client can make 
that so.

{code}
    long now = System.currentTimeMillis();
    Delete delete = new Delete(row);
    delete.deleteFamily(cf1, now);
    
    Put put1 = new Put(row);
    put1.add(cf1,col1,now+1);
{code}

Let's not make this more complicated that it has to be. I maintain my -1 on 
changing this.

                
> RowMutations fail when Delete and Put on same columnFamily/column/row
> ---------------------------------------------------------------------
>
>                 Key: HBASE-8626
>                 URL: https://issues.apache.org/jira/browse/HBASE-8626
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.94.7, 0.95.0
>         Environment: Ubuntu 12.04, HBase 0.94.7
>            Reporter: Vinod
>            Assignee: Ted Yu
>             Fix For: 0.94.7, 0.95.1
>
>         Attachments: 8626-v1.txt, TestRowMutations.java, 
> tests_for_row_mutations1.patch
>
>
> When RowMutations have a Delete followed by Put to same column family or 
> columns or rows, only the Delete is happening while the Put is ignored so 
> atomicity of RowMutations is broken for such cases.
> Attached is a unit test where the following tests are failing:
> - testDeleteCFThenPutInSameCF: Delete a column family and then Put to same 
> column family.
> - testDeleteColumnThenPutSameColumn: Delete a column and then Put to same 
> column.
> - testDeleteRowThenPutSameRow: Delete a row and then Put to same row

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to