[
https://issues.apache.org/jira/browse/OMID-74?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16108670#comment-16108670
]
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_r130566340
--- 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. I guess you want to say this is optimized path for HBase backend? Just
name the method to indicate this, then.
2. I suspect there is a bug for non-HBase backends, because
enforceHBaseTransactionManagerAsParam throws an exception if it does not
succeed to downcast.
> 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)