1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.regionserver.querymatcher;
19
20 import java.io.IOException;
21
22 import org.apache.hadoop.hbase.Cell;
23 import org.apache.hadoop.hbase.CellUtil;
24 import org.apache.hadoop.hbase.classification.InterfaceAudience;
25 import org.apache.hadoop.hbase.regionserver.DeleteTracker;
26 import org.apache.hadoop.hbase.regionserver.ScanInfo;
27
28
29
30
31 @InterfaceAudience.Private
32 public class MinorCompactionScanQueryMatcher extends CompactionScanQueryMatcher {
33
34 public MinorCompactionScanQueryMatcher(ScanInfo scanInfo, DeleteTracker deletes,
35 long readPointToUse, long oldestUnexpiredTS, long now) {
36 super(scanInfo, deletes, readPointToUse, oldestUnexpiredTS, now);
37 }
38
39 @Override
40 public MatchCode match(Cell cell) throws IOException {
41 MatchCode returnCode = preCheck(cell);
42 if (returnCode != null) {
43 return returnCode;
44 }
45 long mvccVersion = cell.getSequenceId();
46 byte typeByte = cell.getTypeByte();
47 if (CellUtil.isDelete(typeByte)) {
48 if (mvccVersion > maxReadPointToTrackVersions) {
49
50 return MatchCode.INCLUDE;
51 }
52 trackDelete(cell);
53 return MatchCode.INCLUDE;
54 }
55 returnCode = checkDeleted(deletes, cell);
56 if (returnCode != null) {
57 return returnCode;
58 }
59
60 return columns.checkVersions(cell.getQualifierArray(), cell.getQualifierOffset(),
61 cell.getQualifierLength(), cell.getTimestamp(), typeByte,
62 mvccVersion > maxReadPointToTrackVersions);
63 }
64 }