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

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

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

    https://github.com/apache/incubator-omid/pull/13#discussion_r130564445
  
    --- Diff: 
hbase-client/src/main/java/org/apache/omid/transaction/TTable.java ---
    @@ -158,12 +162,40 @@ public Result get(Transaction tx, final Get get) 
throws IOException {
             Result result = table.get(tsget);
             List<Cell> filteredKeyValues = Collections.emptyList();
             if (!result.isEmpty()) {
    -            filteredKeyValues = filterCellsForSnapshot(result.listCells(), 
transaction, tsget.getMaxVersions());
    +            filteredKeyValues = filterCellsForSnapshot(result.listCells(), 
transaction, tsget.getMaxVersions(), new HashMap<String, List<Cell>>());
             }
     
             return Result.create(filteredKeyValues);
         }
     
    +    private void familyQualifierBasedDeletion(HBaseTransaction tx, Put 
deleteP, Get deleteG) throws IOException {
    +        Result result = this.get(tx, 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();
    +                    tx.addWriteSetElement(new HBaseCellId(table, 
deleteP.getRow(), family, qualifier,
    +                            tx.getStartTimestamp()));
    +                }
    +                deleteP.add(family, CellUtils.FAMILY_DELETE_QUALIFIER, 
tx.getStartTimestamp(),
    +                        HConstants.EMPTY_BYTE_ARRAY);
    +            }
    +        }
    +    }
    +
    +    private void  familyQualifierBasedDeletionWithOutRead(HBaseTransaction 
tx, Put deleteP, Get deleteG) {
    +        Set<byte[]> fmap = deleteG.getFamilyMap().keySet();
    --- End diff --
    
    fmap --> fset ??


> 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