[
https://issues.apache.org/jira/browse/HBASE-17582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15849270#comment-15849270
]
Gary Helmling commented on HBASE-17582:
---------------------------------------
On the reader side, it looks like this was broken in the commit for HBASE-15236.
In the changes to StoreFileScanner, we no longer pass through canUseDrop to
StoreFile.createReader():
{noformat}
@@ -115,11 +136,13 @@ public class StoreFileScanner implements KeyValueScanner {
ScanQueryMatcher matcher, long readPt, boolean isPrimaryReplica) throws
IOException {
List<StoreFileScanner> scanners = new ArrayList<StoreFileScanner>(
files.size());
- for (StoreFile file : files) {
- StoreFileReader r = file.createReader(canUseDrop);
+ List<StoreFile> sorted_files = new ArrayList<>(files);
+ Collections.sort(sorted_files, StoreFile.Comparators.SEQ_ID);
+ for (int i = 0; i < sorted_files.size(); i++) {
+ StoreFileReader r = sorted_files.get(i).createReader();
r.setReplicaStoreFile(isPrimaryReplica);
StoreFileScanner scanner = r.getStoreFileScanner(cacheBlocks, usePread,
- isCompaction, readPt);
+ isCompaction, readPt, i);
scanner.setScanQueryMatcher(matcher);
scanners.add(scanner);
}
{noformat}
Following the code through, it looks like just passing along canUseDrop to
createReader() should fix it.
[[email protected]], [~apeksharma]: any idea if this change was intentional
or an oversight? It looks like it's also broken for StoreFileWriter.
> Drop page cache hint is broken
> ------------------------------
>
> Key: HBASE-17582
> URL: https://issues.apache.org/jira/browse/HBASE-17582
> Project: HBase
> Issue Type: Bug
> Components: Compaction, io
> Affects Versions: 2.0.0
> Reporter: Ashu Pachauri
>
> We pass a boolean for pass page cache drop hint while creating store file
> scanners and writers.
> The hint is not passed on down the stack by StoreFileWriter and
> StoreFileScanner in the master branch.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)