You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Gary Helmling (JIRA)" <ji...@apache.org> on 2017/02/02 01:50:51 UTC

[jira] [Commented] (HBASE-17582) Drop page cache hint is broken

    [ 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.


[~saint.ack@gmail.com], [~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)