[
https://issues.apache.org/jira/browse/HBASE-2450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12906044#action_12906044
]
ryan rawson commented on HBASE-2450:
------------------------------------
ran a profiler-based timing test and with this patch things seem to be faster:
diff --git
a/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
b/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
index 286cb64..b24b28f 100644
--- a/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
+++ b/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
@@ -77,17 +77,22 @@ public class ScanQueryMatcher {
this.rowComparator = rowComparator;
this.deletes = new ScanDeleteTracker();
this.stopRow = scan.getStopRow();
- this.startKey = KeyValue.createFirstOnRow(scan.getStartRow());
this.filter = scan.getFilter();
// Single branch to deal with two types of reads (columns vs all in family)
if (columns == null || columns.size() == 0) {
// use a specialized scan for wildcard column tracker.
this.columns = new ScanWildcardColumnTracker(maxVersions);
+ this.startKey = KeyValue.createFirstOnRow(scan.getStartRow());
} else {
// We can share the ExplicitColumnTracker, diff is we reset
// between rows, not between storefiles.
- this.columns = new ExplicitColumnTracker(columns,maxVersions);
+ this.columns = new ExplicitColumnTracker(columns, maxVersions);
+ final ColumnCount hint = this.columns.getColumnHint();
+ this.startKey = KeyValue.createFirstOnRow(scan.getStartRow(),
+ 0, scan.getStartRow().length,
+ family, 0, family.length,
+ hint.getBuffer(), hint.getOffset(), hint.getLength());
}
}
> For single row reads of specific columns, seek to the first column in HFiles
> rather than start of row
> -----------------------------------------------------------------------------------------------------
>
> Key: HBASE-2450
> URL: https://issues.apache.org/jira/browse/HBASE-2450
> Project: HBase
> Issue Type: Improvement
> Components: io, regionserver
> Reporter: Jonathan Gray
> Assignee: Pranav Khaitan
> Fix For: 0.90.0
>
>
> Currently we will always seek to the start of a row. If we are getting
> specific columns, we should seek to the first column in that row.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.