You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2015/06/25 10:04:17 UTC

[3/5] incubator-kylin git commit: KYLIN-844 default observer behavior if no attribute hint found

KYLIN-844 default observer behavior if no attribute hint found


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/dfe3a50a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/dfe3a50a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/dfe3a50a

Branch: refs/heads/0.8
Commit: dfe3a50abfd9dbae185a6a23f54c04cdd71d4c78
Parents: 2d4aea8
Author: honma <ho...@ebay.com>
Authored: Thu Jun 25 15:50:56 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Thu Jun 25 15:50:56 2015 +0800

----------------------------------------------------------------------
 .../hbase/coprocessor/observer/AggregateRegionObserver.java  | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/dfe3a50a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserver.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserver.java b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserver.java
index aea2cea..8771bf4 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserver.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserver.java
@@ -48,7 +48,6 @@ public class AggregateRegionObserver extends BaseRegionObserver {
     static final String FILTER = "_Filter";
     static final String BEHAVIOR = "_Behavior";
 
-
     @Override
     public final RegionScanner postScannerOpen(final ObserverContext<RegionCoprocessorEnvironment> ctxt, final Scan scan, final RegionScanner innerScanner) throws IOException {
 
@@ -85,8 +84,11 @@ public class AggregateRegionObserver extends BaseRegionObserver {
         byte[] filterBytes = scan.getAttribute(FILTER);
         CoprocessorFilter filter = CoprocessorFilter.deserialize(filterBytes);
 
+        ObserverBehavior observerBehavior = ObserverBehavior.SCAN_FILTER_AGGR;
         byte[] behavior = scan.getAttribute(BEHAVIOR);
-        ObserverBehavior observerBehavior = ObserverBehavior.valueOf(new String(behavior));
+        if (behavior != null && behavior.length != 0) {
+            observerBehavior = ObserverBehavior.valueOf(new String(behavior));
+        }
 
         // start/end region operation & sync on scanner is suggested by the
         // javadoc of RegionScanner.nextRaw()
@@ -95,7 +97,7 @@ public class AggregateRegionObserver extends BaseRegionObserver {
         region.startRegionOperation();
         try {
             synchronized (innerScanner) {
-                return new AggregationScanner(type, filter, projector, aggregators, innerScanner,observerBehavior);
+                return new AggregationScanner(type, filter, projector, aggregators, innerScanner, observerBehavior);
             }
         } finally {
             region.closeRegionOperation();