[
https://issues.apache.org/jira/browse/OMID-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17582820#comment-17582820
]
ASF GitHub Bot commented on OMID-223:
-------------------------------------
stoty commented on code in PR #109:
URL: https://github.com/apache/phoenix-omid/pull/109#discussion_r951188975
##########
hbase-coprocessor/src/main/java/org/apache/omid/transaction/CellSkipFilterBase.java:
##########
@@ -19,58 +19,54 @@
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
-import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValueUtil;
+import org.apache.hadoop.hbase.PrivateCellUtil;
import org.apache.hadoop.hbase.filter.Filter;
import org.apache.hadoop.hbase.filter.FilterBase;
import java.io.IOException;
import java.util.List;
/**
- * {@link Filter} that encapsulates another {@link Filter}. It remembers the
last {@link KeyValue}
+ * {@link Filter} that encapsulates another {@link Filter}. It remembers the
last {@link Cell}
* for which the underlying filter returned the {@link ReturnCode#NEXT_COL} or
{@link ReturnCode#INCLUDE_AND_NEXT_COL},
- * so that when {@link #filterKeyValue} is called again for the same {@link
KeyValue} with different
+ * so that when {@link #filterCell} is called again for the same {@link Cell}
with different
* version, it returns {@link ReturnCode#NEXT_COL} directly without consulting
the underlying {@link Filter}.
* Please see TEPHRA-169 for more details.
*/
public class CellSkipFilterBase extends FilterBase {
private final Filter filter;
- // remember the previous keyvalue processed by filter when the return code
was NEXT_COL or INCLUDE_AND_NEXT_COL
- private KeyValue skipColumn = null;
+ // remember the previous cell processed by filter when the return code was
NEXT_COL or INCLUDE_AND_NEXT_COL
+ private Cell skipColumn = null;
public CellSkipFilterBase(Filter filter) {
this.filter = filter;
}
/**
* Determines whether the current cell should be skipped. The cell will be
skipped
- * if the previous keyvalue had the same key as the current cell. This
means filter already responded
- * for the previous keyvalue with ReturnCode.NEXT_COL or
ReturnCode.INCLUDE_AND_NEXT_COL.
+ * if the previous cell had the same key as the current cell. This means
filter already responded
+ * for the previous cell with ReturnCode.NEXT_COL or
ReturnCode.INCLUDE_AND_NEXT_COL.
* @param cell the {@link Cell} to be tested for skipping
* @return true is current cell should be skipped, false otherwise
*/
private boolean skipCellVersion(Cell cell) {
return skipColumn != null
- && CellUtil.matchingRow(cell, skipColumn.getRowArray(),
skipColumn.getRowOffset(),
- skipColumn.getRowLength())
- && CellUtil.matchingFamily(cell, skipColumn.getFamilyArray(),
skipColumn.getFamilyOffset(),
- skipColumn.getFamilyLength())
- && CellUtil.matchingQualifier(cell,
skipColumn.getQualifierArray(), skipColumn.getQualifierOffset(),
- skipColumn.getQualifierLength());
+ && CellUtil.matchingRows(cell, skipColumn)
+ && CellUtil.matchingFamily(cell, skipColumn)
+ && CellUtil.matchingQualifier(cell, skipColumn);
}
@Override
- public ReturnCode filterKeyValue(Cell cell) throws IOException {
+ public ReturnCode filterCell(Cell cell) throws IOException {
Review Comment:
Please add comments to the deprected methods explaining the above.
> Refactor Omid to use HBase 2 APIs internally.
> ---------------------------------------------
>
> Key: OMID-223
> URL: https://issues.apache.org/jira/browse/OMID-223
> Project: Phoenix Omid
> Issue Type: Improvement
> Reporter: Istvan Toth
> Assignee: Aron Attila Meszaros
> Priority: Major
> Attachments: OMID-223-wip.patch
>
>
> Omid currently uses HBase 1 APIs everywhere.
> This made sense when HBase 1 and 2 had to be supported from the same codebase.
> However, as we're dropping HBase 1 support, this is a liability now.
> Doing this is also going to eventually make supporting HBase 3 much easier.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)