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

ASF GitHub Bot commented on OMID-74:
------------------------------------

Github user ohadshacham commented on a diff in the pull request:

    https://github.com/apache/incubator-omid/pull/13#discussion_r130805885
  
    --- Diff: 
hbase-client/src/main/java/org/apache/omid/transaction/TTable.java ---
    @@ -228,21 +261,12 @@ public void delete(Transaction tx, Delete delete) 
throws IOException {
                     }
                 }
             }
    -        if (issueGet) {
    -            // It's better to perform a transactional get to avoid 
deleting more
    -            // than necessary
    -            Result result = this.get(transaction, deleteG);
    -            if (!result.isEmpty()) {
    -                for (Entry<byte[], NavigableMap<byte[], NavigableMap<Long, 
byte[]>>> entryF : result.getMap()
    -                    .entrySet()) {
    -                    byte[] family = entryF.getKey();
    -                    for (Entry<byte[], NavigableMap<Long, byte[]>> entryQ 
: entryF.getValue().entrySet()) {
    -                        byte[] qualifier = entryQ.getKey();
    -                        deleteP.add(family, qualifier, 
CellUtils.DELETE_TOMBSTONE);
    -                        transaction.addWriteSetElement(new 
HBaseCellId(table, delete.getRow(), family, qualifier,
    -                                                                       
transaction.getStartTimestamp()));
    -                    }
    -                }
    +
    +        if (deleteFamily) {
    --- End diff --
    
    1. This is a deletion path without read requirement. It is doable only in 
row level conflict detection mode where we only need to mark the row as a 
player for conflict analysis. 
    2. TTable works only for HBase. You can see that each one of the method 
starts with a check that the transaction is hbase transaction. IMHO TTable 
should inherit from HTableInterface and override its functions, but this is for 
 a different patch :).


> Efficient column family deletion in Row level conflict analysis
> ---------------------------------------------------------------
>
>                 Key: OMID-74
>                 URL: https://issues.apache.org/jira/browse/OMID-74
>             Project: Apache Omid
>          Issue Type: New Feature
>            Reporter: Ohad Shacham
>
> The idea is to use a qualifier to denote that all the columns of a specific 
> family were deleted. 
> Current implementation reads from HBase the entire family and then writes a 
> tombstone to each one of its cells. The new implementation does not need to 
> perform the read and only writes the qualifier to denote that the family was 
> deleted. This is true only for Row level conflict detection since in Cell 
> level we need to read the cells and add these to the write set.



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

Reply via email to