Merge commit '87fedf75e5bbf61a33cf1b31720ad9ac55de6287'

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

Branch: refs/heads/master
Commit: f36372bc657b1edb312b36a071b077cde184eab8
Parents: 8ce972f 87fedf7
Author: Hongbin Ma <mahong...@apache.org>
Authored: Fri May 19 17:55:26 2017 +0800
Committer: Hongbin Ma <mahong...@apache.org>
Committed: Fri May 19 17:55:26 2017 +0800

----------------------------------------------------------------------
 .../rel/rules/OLAPJoinPushThroughJoinRule.java  | 172 ++++++++
 .../rel/rules/OLAPJoinPushThroughJoinRule2.java | 205 +++++++++
 .../java/org/apache/calcite/tools/Programs.java | 438 +++++++++++++++++++
 build/bin/find-hive-dependency.sh               |   4 +-
 build/bin/kylin.sh                              |  41 +-
 build/bin/sample.sh                             |  24 +-
 .../apache/kylin/common/KylinConfigBase.java    |   8 +-
 .../kylin/common/lock/DistributedLock.java      |  63 ++-
 .../common/lock/DistributedLockFactory.java     |  43 ++
 .../kylin/common/restclient/RestClient.java     |  16 +-
 .../org/apache/kylin/common/util/CheckUtil.java |  50 ++-
 .../apache/kylin/cube/model/DimensionDesc.java  |   3 +-
 .../kylin/dict/BuiltInFunctionTransformer.java  |   8 +-
 .../kylin/dict/GlobalDictionaryBuilder.java     |  71 +--
 .../impl/threadpool/DistributedScheduler.java   |  55 +--
 .../kylin/job/lock/DistributedJobLock.java      |  24 -
 .../kylin/metadata/cachesync/Broadcaster.java   |  66 ++-
 .../metadata/filter/function/BuiltInMethod.java |  39 +-
 .../metadata/filter/function/LikeMatchers.java  | 141 ++++++
 examples/sample_cube/create_sample_tables.sql   |  10 +-
 .../kylin/job/BaseTestDistributedScheduler.java |  35 +-
 .../job/ITDistributedSchedulerBaseTest.java     |   6 +-
 .../job/ITDistributedSchedulerTakeOverTest.java |   2 +-
 .../resources/query/sql_subquery/query17.sql    |  17 +
 .../resources/query/sql_subquery/query18.sql    |  23 +
 .../resources/query/sql_subquery/query19.sql    |  20 +
 .../resources/query/sql_subquery/query21.sql    |  26 ++
 .../resources/query/sql_subquery/query22.sql    |  25 ++
 .../resources/query/sql_subquery/query23.sql    |  26 ++
 .../resources/query/sql_subquery/query24.sql    |  29 ++
 .../resources/query/sql_subquery/query25.sql    |  22 +
 .../resources/query/sql_subquery/query26.sql    |  16 +
 .../resources/query/sql_subquery/query27.sql    |  20 +
 .../resources/query/sql_subquery/query28.sql    |  21 +
 .../query/sql_subquery/query29.sql.todo         |  22 +
 .../kylin/query/relnode/OLAPAggregateRel.java   |   4 +-
 .../apache/kylin/query/relnode/OLAPContext.java |  10 +
 .../kylin/query/relnode/OLAPFilterRel.java      |   2 +-
 .../apache/kylin/query/relnode/OLAPJoinRel.java |  12 +-
 .../kylin/query/relnode/OLAPProjectRel.java     |  15 +-
 .../rest/security/AuthoritiesPopulator.java     |  20 +-
 .../apache/kylin/rest/service/AclService.java   |   1 -
 .../kylin/rest/service/CacheServiceTest.java    |  10 +-
 .../kylin/storage/hbase/HBaseConnection.java    |  30 +-
 .../hbase/util/ZookeeperDistributedJobLock.java | 257 -----------
 .../hbase/util/ZookeeperDistributedLock.java    | 307 +++++++++++++
 .../storage/hbase/util/ZookeeperJobLock.java    | 144 ++----
 .../apache/kylin/storage/hdfs/LockManager.java  |   8 +-
 .../util/ITZookeeperDistributedLockTest.java    | 254 +++++++++++
 .../apache/kylin/tool/MetadataCleanupJob.java   |  14 +-
 webapp/app/js/controllers/access.js             |   1 +
 webapp/app/js/controllers/admin.js              |  12 +-
 webapp/app/js/controllers/cubeMeasures.js       |   2 +-
 webapp/app/js/controllers/query.js              |   4 +-
 54 files changed, 2273 insertions(+), 625 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/build/bin/find-hive-dependency.sh
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/build/bin/sample.sh
----------------------------------------------------------------------
diff --cc build/bin/sample.sh
index 2e13805,10900bb..b9c4ea3
--- a/build/bin/sample.sh
+++ b/build/bin/sample.sh
@@@ -52,10 -62,10 +63,11 @@@ the
      else
          
beeline_params=${beeline_params/${hive2_url}/${hive2_url}${sample_database}}
      fi
-     beeline ${hive_conf_properties} ${beeline_params} -f 
${KYLIN_HOME}/sample_cube/create_sample_tables.sql  || { exit 1; }
 -    beeline ${beeline_params} --hivevar hdfs_tmp_dir=${hdfs_tmp_dir} -f 
${KYLIN_HOME}/sample_cube/create_sample_tables.sql  || { exit 1; }
++    
++    beeline ${hive_conf_properties} --hivevar hdfs_tmp_dir=${hdfs_tmp_dir} 
${beeline_params} -f ${KYLIN_HOME}/sample_cube/create_sample_tables.sql  || { 
exit 1; }
  else
 -    hive -e "CREATE DATABASE IF NOT EXISTS "$sample_database
 -    hive --database $sample_database --hivevar hdfs_tmp_dir=${hdfs_tmp_dir} 
-f ${KYLIN_HOME}/sample_cube/create_sample_tables.sql  || { exit 1; }
 +    hive ${hive_conf_properties} -e "CREATE DATABASE IF NOT EXISTS 
"$sample_database
-     hive ${hive_conf_properties} --database $sample_database -f 
${KYLIN_HOME}/sample_cube/create_sample_tables.sql  || { exit 1; }
++    hive ${hive_conf_properties} --hivevar hdfs_tmp_dir=${hdfs_tmp_dir} 
--database $sample_database -f 
${KYLIN_HOME}/sample_cube/create_sample_tables.sql  || { exit 1; }
  fi
  
  echo "Sample hive tables are created successfully; Going to create sample 
cube..."

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/core-dictionary/src/main/java/org/apache/kylin/dict/BuiltInFunctionTransformer.java
----------------------------------------------------------------------
diff --cc 
core-dictionary/src/main/java/org/apache/kylin/dict/BuiltInFunctionTransformer.java
index 4d7b15d,5196593..f5cbe68
--- 
a/core-dictionary/src/main/java/org/apache/kylin/dict/BuiltInFunctionTransformer.java
+++ 
b/core-dictionary/src/main/java/org/apache/kylin/dict/BuiltInFunctionTransformer.java
@@@ -100,13 -97,9 +100,13 @@@ public class BuiltInFunctionTransforme
                  Object dictVal = dict.getValueFromId(i);
                  if ((Boolean) 
builtInFunctionTupleFilter.invokeFunction(dictVal)) {
                      translated.addChild(new ConstantTupleFilter(dictVal));
 +
 +                    if (translated.getChildren().size() > 
translatedInClauseMaxSize) {
 +                        return null;
 +                    }
                  }
              }
- 
+             logger.debug("getting a in clause with {} children", 
translated.getChildren().size());
          } catch (Exception e) {
              logger.debug(e.getMessage());
              return null;

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
----------------------------------------------------------------------
diff --cc 
core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
index fd7b43a,6d12b8b..d01cb5a
--- 
a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
+++ 
b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java
@@@ -319,21 -304,14 +304,21 @@@ public class DistributedScheduler imple
          }
      }
  
-     public String getLockPath(String pathName) {
-         return dropDoubleSlash(ZOOKEEPER_LOCK_PATH + "/" + 
KylinConfig.getInstanceFromEnv().getMetadataUrlPrefix() + "/" + pathName);
+     public static String getLockPath(String pathName) {
 -        return ZOOKEEPER_LOCK_PATH + "/" + pathName;
++        return dropDoubleSlash(ZOOKEEPER_LOCK_PATH + "/" + pathName);
      }
  
-     private String getWatchPath() {
-         return dropDoubleSlash(ZOOKEEPER_LOCK_PATH + "/" + 
KylinConfig.getInstanceFromEnv().getMetadataUrlPrefix());
+     private static String getWatchPath() {
 -        return ZOOKEEPER_LOCK_PATH;
++        return dropDoubleSlash(ZOOKEEPER_LOCK_PATH);
      }
  
 +    public static String dropDoubleSlash(String path) {
 +        for (int n = Integer.MAX_VALUE; n > path.length();) {
 +            n = path.length();
 +            path = path.replace("//", "/");
 +        }
 +        return path;
 +    }
      @Override
      public void shutdown() throws SchedulerException {
          logger.info("Will shut down Job Engine ....");

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
----------------------------------------------------------------------
diff --cc 
kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
index f410f59,48ef923..6343dfa
--- 
a/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
+++ 
b/kylin-it/src/test/java/org/apache/kylin/job/BaseTestDistributedScheduler.java
@@@ -197,8 -193,7 +193,7 @@@ public class BaseTestDistributedSchedul
          return serverName;
      }
  
-     private String getLockPath(String pathName) {
-         return DistributedScheduler.dropDoubleSlash(//
-                 DistributedScheduler.ZOOKEEPER_LOCK_PATH + "/" + 
kylinConfig1.getMetadataUrlPrefix() + "/" + pathName);
+     private String getFullLockPath(String segName) {
 -        return "/kylin/" + kylinConfig1.getMetadataUrlPrefix() + 
DistributedScheduler.getLockPath(segName);
++        return DistributedScheduler.dropDoubleSlash("/kylin/" + 
kylinConfig1.getMetadataUrlPrefix() + 
DistributedScheduler.getLockPath(segName));
      }
  }

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/query/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
----------------------------------------------------------------------
diff --cc 
server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
index 097dd92,63b155b..dcfc867
--- a/server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
@@@ -408,4 -408,99 +408,3 @@@ class AclRecord extends RootPersistentE
      }
  
  }
 -
 -class DomainObjectInfo {
 -    private String id;
 -    private String type;
 -
 -    public DomainObjectInfo() {
 -    }
 -
 -    public DomainObjectInfo(ObjectIdentity oid) {
 -        super();
 -        this.id = (String) oid.getIdentifier();
 -        this.type = oid.getType();
 -    }
 -
 -    public String getId() {
 -        return id;
 -    }
 -
 -    public void setId(String id) {
 -        this.id = id;
 -    }
 -
 -    public String getType() {
 -        return type;
 -    }
 -
 -    public void setType(String type) {
 -        this.type = type;
 -    }
 -}
 -
 -class SidInfo {
 -    private String sid;
 -    private boolean isPrincipal;
 -
 -    public SidInfo() {
 -    }
 -
 -    public SidInfo(Sid sid) {
 -        if (sid instanceof PrincipalSid) {
 -            this.sid = ((PrincipalSid) sid).getPrincipal();
 -            this.isPrincipal = true;
 -        } else if (sid instanceof GrantedAuthoritySid) {
 -            this.sid = ((GrantedAuthoritySid) sid).getGrantedAuthority();
 -            this.isPrincipal = false;
 -        }
 -    }
 -
 -    public String getSid() {
 -        return sid;
 -    }
 -
 -    public void setSid(String sid) {
 -        this.sid = sid;
 -    }
 -
 -    public boolean isPrincipal() {
 -        return isPrincipal;
 -    }
 -
 -    public void setPrincipal(boolean isPrincipal) {
 -        this.isPrincipal = isPrincipal;
 -    }
 -
 -}
 -
 -class AceInfo {
 -    private SidInfo sidInfo;
 -    private int permissionMask;
 -
 -    public AceInfo() {
 -    }
 -
 -    public AceInfo(AccessControlEntry ace) {
 -        super();
 -        this.sidInfo = new SidInfo(ace.getSid());
 -        this.permissionMask = ace.getPermission().getMask();
 -    }
 -
 -    public SidInfo getSidInfo() {
 -        return sidInfo;
 -    }
 -
 -    public void setSidInfo(SidInfo sidInfo) {
 -        this.sidInfo = sidInfo;
 -    }
 -
 -    public int getPermissionMask() {
 -        return permissionMask;
 -    }
 -
 -    public void setPermissionMask(int permissionMask) {
 -        this.permissionMask = permissionMask;
 -    }
--
 -}

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/server/src/test/java/org/apache/kylin/rest/service/CacheServiceTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/kylin/blob/f36372bc/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnection.java
----------------------------------------------------------------------
diff --cc 
storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnection.java
index 2bbc2bc,5fafa2b..6580107
--- 
a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnection.java
+++ 
b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnection.java
@@@ -45,7 -44,7 +45,8 @@@ import org.apache.hadoop.hbase.client.C
  import org.apache.hadoop.hbase.util.Threads;
  import org.apache.hadoop.hdfs.DFSConfigKeys;
  import org.apache.kylin.common.KylinConfig;
 +import org.apache.kylin.common.StorageURL;
+ import org.apache.kylin.common.lock.DistributedLock;
  import org.apache.kylin.common.persistence.StorageException;
  import org.apache.kylin.common.util.HadoopUtil;
  import org.slf4j.Logger;
@@@ -357,4 -365,8 +371,8 @@@ public class HBaseConnection 
          }
      }
  
+     private static String getLockPath(String table) {
+         return "/create_htable/" + table + "/lock";
+     }
+ 
 -}
 +}

Reply via email to