Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
HBase >> mail # user >> Getting the scan type at preCompact


Copy link to this message
-
Getting the scan type at preCompact
Hi,

In the RegionObserver.preCompactScannerOpen() method, one of the parameters is scanType which enables me to know if the compaction is major or minor.
In the preCompact() method I don't have that parameter.

In a region observer I wrote, I'm basically wrapping the InternalScanner with my own Scanner.
My scanner should behave differently when its a a major or minor compaction.

Due to this restriction I'm forced to use preCompactScannerOpen() and create the StoreScanner, copy pasting the code that creates it in Store.compactStore() (marked in green):

        if (getHRegion().getCoprocessorHost() != null) {
          scanner = getHRegion()
              .getCoprocessorHost()
              .preCompactScannerOpen(this, scanners,
                  majorCompaction ? ScanType.MAJOR_COMPACT : ScanType.MINOR_COMPACT, earliestPutTs);
        }
        if (scanner == null) {
          Scan scan = new Scan();
          scan.setMaxVersions(getFamily().getMaxVersions());
          /* Include deletes, unless we are doing a major compaction */
          scanner = new StoreScanner(this, getScanInfo(), scan, scanners,
            majorCompaction? ScanType.MAJOR_COMPACT : ScanType.MINOR_COMPACT,
            smallestReadPoint, earliestPutTs);
        }
        if (getHRegion().getCoprocessorHost() != null) {
          InternalScanner cpScanner             getHRegion().getCoprocessorHost().preCompact(this, scanner);
          // NULL scanner returned from coprocessor hooks means skip normal processing
          if (cpScanner == null) {
            return null;
          }
          scanner = cpScanner;
        }
Can I file a JIRA to add the Scan Type to the preCompact method?

Thanks,

Asaf
+
ramkrishna vasudevan 2013-01-29, 14:45
+
Asaf Mesika 2013-01-29, 18:21
+
Ted Yu 2013-01-29, 18:33
+
lars hofhansl 2013-01-29, 18:55
+
Ted Yu 2013-01-29, 19:29
+
lars hofhansl 2013-01-29, 19:58
+
Ted Yu 2013-01-29, 20:33
+
Ted Yu 2013-01-30, 02:53
+
ramkrishna vasudevan 2013-01-30, 03:54