You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2014/11/05 09:27:46 UTC

git commit: PHOENIX-1406 Use preCompact hook instead of preCompactScannerOpen for stats collection

Repository: phoenix
Updated Branches:
  refs/heads/4.0 a059e2b82 -> 3c0f8f2bc


PHOENIX-1406 Use preCompact hook instead of preCompactScannerOpen for stats collection


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/3c0f8f2b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/3c0f8f2b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/3c0f8f2b

Branch: refs/heads/4.0
Commit: 3c0f8f2bc64dbdc7f6f75654a6ffb2c23d5a3c57
Parents: a059e2b
Author: James Taylor <jt...@salesforce.com>
Authored: Wed Nov 5 00:27:36 2014 -0800
Committer: James Taylor <jt...@salesforce.com>
Committed: Wed Nov 5 00:27:36 2014 -0800

----------------------------------------------------------------------
 .../UngroupedAggregateRegionObserver.java       | 16 ++++++------
 .../schema/stats/StatisticsCollector.java       | 26 +++-----------------
 2 files changed, 11 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c0f8f2b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 5131bbc..fcc744a 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@ -452,13 +452,12 @@ public class UngroupedAggregateRegionObserver extends BaseScannerRegionObserver{
     }
     
     @Override
-    public InternalScanner preCompactScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,
-            Store store, List<? extends KeyValueScanner> scanners, ScanType scanType,
-            long earliestPutTs, InternalScanner s) throws IOException {
-        InternalScanner internalScan = s;
+    public InternalScanner preCompact(ObserverContext<RegionCoprocessorEnvironment> c,
+        final Store store, InternalScanner scanner, final ScanType scanType)
+        throws IOException {
         TableName table = c.getEnvironment().getRegion().getRegionInfo().getTable();
-        if (!table.getNameAsString().equals(PhoenixDatabaseMetaData.SYSTEM_STATS_NAME)
-                && scanType.equals(ScanType.COMPACT_DROP_DELETES)) {
+        InternalScanner internalScanner = scanner;
+        if (scanType.equals(ScanType.COMPACT_DROP_DELETES)) {
             try {
                 boolean useCurrentTime = 
                         c.getEnvironment().getConfiguration().getBoolean(QueryServices.STATS_USE_CURRENT_TIME_ATTRIB, 
@@ -468,8 +467,7 @@ public class UngroupedAggregateRegionObserver extends BaseScannerRegionObserver{
                 // the cells and use that.
                 long clientTimeStamp = useCurrentTime ? TimeKeeper.SYSTEM.getCurrentTime() : StatisticsCollector.NO_TIMESTAMP;
                 StatisticsCollector stats = new StatisticsCollector(c.getEnvironment(), table.getNameAsString(), clientTimeStamp);
-                internalScan =
-                        stats.createCompactionScanner(c.getEnvironment().getRegion(), store, scanners, scanType, earliestPutTs, s);
+                internalScanner = stats.createCompactionScanner(c.getEnvironment().getRegion(), store, scanner);
             } catch (IOException e) {
                 // If we can't reach the stats table, don't interrupt the normal
                 // compaction operation, just log a warning.
@@ -478,7 +476,7 @@ public class UngroupedAggregateRegionObserver extends BaseScannerRegionObserver{
                 }
             }
         }
-        return internalScan;
+        return internalScanner;
     }
     
     

http://git-wip-us.apache.org/repos/asf/phoenix/blob/3c0f8f2b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
index 3511d12..0c22790 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
@@ -193,30 +193,12 @@ public class StatisticsCollector {
         }
     }
 
-    public InternalScanner createCompactionScanner(HRegion region, Store store,
-            List<? extends KeyValueScanner> scanners, ScanType scanType, long earliestPutTs, InternalScanner s) throws IOException {
+    public InternalScanner createCompactionScanner(HRegion region, Store store, InternalScanner s) throws IOException {
         // See if this is for Major compaction
-        InternalScanner internalScan = s;
-        if (scanType.equals(ScanType.COMPACT_DROP_DELETES)) {
-            // this is the first CP accessed, so we need to just create a major
-            // compaction scanner, just
-            // like in the compactor
-            if (s == null) {
-                Scan scan = new Scan();
-                scan.setMaxVersions(store.getFamily().getMaxVersions());
-                long smallestReadPoint = store.getSmallestReadPoint();
-                internalScan = new StoreScanner(store, store.getScanInfo(), scan, scanners, scanType,
-                        smallestReadPoint, earliestPutTs);
-            }
-            if (logger.isDebugEnabled()) {
-                logger.debug("Compaction scanner created for stats");
-            }
-            InternalScanner scanner = getInternalScanner(region, store, internalScan, store.getColumnFamilyName());
-            if (scanner != null) {
-                internalScan = scanner;
-            }
+        if (logger.isDebugEnabled()) {
+            logger.debug("Compaction scanner created for stats");
         }
-        return internalScan;
+        return getInternalScanner(region, store, s, store.getColumnFamilyName());
     }
 
     public void collectStatsDuringSplit(Configuration conf, HRegion l, HRegion r,