1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.regionserver;
19
20 import java.io.IOException;
21 import java.util.Collections;
22 import java.util.List;
23 import java.util.NavigableSet;
24
25 import org.apache.hadoop.hbase.HConstants;
26 import org.apache.hadoop.hbase.client.Scan;
27 import org.apache.hadoop.hbase.client.TestFromClientSideWithCoprocessor;
28 import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver;
29 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
30 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
31
32
33
34
35
36
37
38
39 public class NoOpScanPolicyObserver extends BaseRegionObserver {
40
41
42
43 @Override
44 public InternalScanner preFlushScannerOpen(final ObserverContext<RegionCoprocessorEnvironment> c,
45 Store store, KeyValueScanner memstoreScanner, InternalScanner s) throws IOException {
46 Store.ScanInfo oldSI = store.getScanInfo();
47 Store.ScanInfo scanInfo = new Store.ScanInfo(store.getFamily(), oldSI.getTtl(),
48 oldSI.getTimeToPurgeDeletes(), oldSI.getComparator());
49 Scan scan = new Scan();
50 scan.setMaxVersions(oldSI.getMaxVersions());
51 return new StoreScanner(store, scanInfo, scan, Collections.singletonList(memstoreScanner),
52 ScanType.MINOR_COMPACT, store.getHRegion().getSmallestReadPoint(),
53 HConstants.OLDEST_TIMESTAMP);
54 }
55
56
57
58
59 @Override
60 public InternalScanner preCompactScannerOpen(final ObserverContext<RegionCoprocessorEnvironment> c,
61 Store store, List<? extends KeyValueScanner> scanners, ScanType scanType, long earliestPutTs,
62 InternalScanner s) throws IOException {
63
64 Store.ScanInfo oldSI = store.getScanInfo();
65 Store.ScanInfo scanInfo = new Store.ScanInfo(store.getFamily(), oldSI.getTtl(),
66 oldSI.getTimeToPurgeDeletes(), oldSI.getComparator());
67 Scan scan = new Scan();
68 scan.setMaxVersions(oldSI.getMaxVersions());
69 return new StoreScanner(store, scanInfo, scan, scanners, scanType, store.getHRegion()
70 .getSmallestReadPoint(), earliestPutTs);
71 }
72
73 @Override
74 public KeyValueScanner preStoreScannerOpen(final ObserverContext<RegionCoprocessorEnvironment> c,
75 Store store, final Scan scan, final NavigableSet<byte[]> targetCols, KeyValueScanner s)
76 throws IOException {
77 return new StoreScanner(store, store.getScanInfo(), scan, targetCols);
78 }
79 }