You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2019/02/22 06:15:34 UTC

[kylin] branch master-hadoop3.1 updated (d090367 -> 5dcf206)

This is an automated email from the ASF dual-hosted git repository.

shaofengshi pushed a change to branch master-hadoop3.1
in repository https://gitbox.apache.org/repos/asf/kylin.git.


 discard d090367  KYLIN-2565 Add cdh60 profile
 discard 766a472  KYLIN-2565 Resolve conflict
 discard cd0f7cb  KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
 discard 00e8bd7  KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
 discard 7eeed17  Update scripts for HDP 3.0
 discard a094850  KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT
 discard 616bb38  KYLIN-2565, upgrade to Hadoop3.0
     new 165378b  KYLIN-3366 Configure automatic enabling of cubes after a build process
     new da5037e  KYLIN-3553 Tomcat Security Vulnerability Alert. The version of the tomcat for kylin should upgrade to 7.0.90.
     new 64e4672  KYLIN-3551 Check spark counter output path exists
     new 91fb3c1  KYLIN-3547 Add DataTpyeOrder boolean
     new 7cba779  KYLIN-3550 kylin.source.hive.flat-table-field-delimiter extra \
     new 9e5856a  KYLIN-3554 Kylin move to next step on Spark job resumed
     new 0f7d3f8  minor, update front end error message
     new 3f7b42a  KYLIN-3557 PreparedStatement not closed in JDBCResourceDAO
     new 375acde  KYLIN-3525 Reserve intermediate flat table data if kylin.source.hive.keep-flat-table set to true
     new d9972ee  KYLIN-3513 add plugin version to pom.xml KYLIN-3513 disable javadoc check KYLIN-3513 use SHA-256 algorithm
     new 0c1ef1d  minor, less test rows in RocksDBLookupTableCacheTest
     new 501a804  KYLIN-3513 bump main version to 2.6.0
     new 535c9ed  KYLIN-3527 fix hybrid couldn't save when there is only 1 cube
     new 2b2a203  KYLIN-3526 Add check for hybrid name with special character
     new 51fa4d0  KYLIN-3528 Add details page for hybrid
     new bb904b8  minor, comment scala-maven-plugin version to let compile on old maven
     new 5413975  KYLIN-3531 Save uppercase of usernames to metadata
     new 6dcd795  KYLIN-3543 Export HBase configuration only for Spark engine
     new aee4b57  KYLIN-3565 User login error message is inaccurate
     new dd9909c  KYLIN-3439, make default kylin.web.timezone in KylinConfigBase the same with kylin-defaults.properties
     new 82e1c01  KYLIN-3567 Change scala dependency scope to provided
     new e093fac  KYLIN-3445 Upgrade checkstyle version to 8.6
     new cf171da  KYLIN-3515 Add uuid for materialized table of hive view
     new 715f819  KYLIN-3497 Make JDBC Module more testable
     new 754da80  minor, less log to enable travis-ci
     new f37be33  KYLIN-3575, fix unclosed JDBC connection in DriverTest.
     new 98833e0  KYLIN-3546 Add column which belongs to root fact table in join relation but lost
     new d8c2a28  KYLIN-3582 String compare should use equals method
     new fc9444f  KYLIN-3541 clean ci meaningless messages
     new 34fd447  KYLIN-3592, reorder static and synchronized in method declaration.
     new 043a315  KYLIN-3580 Avoid using entrySet to add elements@CuboidStatsUtil#complementRowCountForMandatoryCuboids
     new c8610e2  KYLIN-3587 Including tableID in IllegalStateException messages
     new cd8c375  Update to fix KYLIN-3595
     new 95f399e  KYLIN-3597 fix sonar issues
     new 82cf309  KYLIN-3584 Correct lazy initialization of DefaultScheduler.INSTANCE
     new dcd2a63  KYLIN-3585 Remove unneeded declaration of volatile in SparkFactDistinct
     new 23e4ffa  KYLIN-3597 Fix sonar reported static code issues
     new de396e3  Add private constructor for utility classes.
     new 08c451f  Use parseInt() to parse a primitive instead of to use boxing/unboxing
     new 24efe15  KYLIN-3597 Fix some issues reported by SonarCloud
     new 615b21c  KYLIN-3570 Automatically build system cube
     new 9ae03f6  KYLIN-3574 Close underlying resource of lookup table
     new 8e7d2a9  KYLIN-3586 Fix eight primitive boxing/unboxing problem.
     new c3e02c3  KYLIN-3597 Improve code smell
     new 65ab55e  KYLIN-3597 delete unused test cases
     new 910b79e  KYLIN-3603 Close the HBase connection after used in UpdateHTableHostCLI
     new 10587a6  KYLIN-3599 Bulk Add Measures
     new 796fede  KYLIN-3597 Improve code smell
     new bd8961c  KYLIN-2924 enable google error-prone in compile phase
     new f42e937  KYLIN-3602 Enable more checkstyle rules
     new aefaf9c  KYLIN-3583 Cast to long before multiplication
     new 8db0330  KYLIN-3579 Replace keySet iterator with entrySet iterator
     new 3342d08  KYLIN-3581 Obey the contract of 'x.equals(y) should be consistent with x.compareTo(y)'
     new 974bf6f  KYLIN-3588, fix potentially duplicate putting in RemoveBlackoutRealizationsRule#getFilterImpl
     new 55a085c  KYLIN-3605 upgrade zookeeper version to fix security issues
     new 8e98b8b  KYLIN-3560 Should not depend on personal repository
     new f859e43  KYLIN-3597 Close JavaSparkContext after used.
     new eb01b69  KYLIN-3594 Obey JDBC standard
     new 4f114d0  KYLIN-3586 Fix remaining boxing/unboxing problem
     new 25f094b  KYLIN-3594 Remove unnecessary sql files in integration test
     new 09c5668  KYLIN-1239 change to htable owner tag to whoami@kylin.apache.org
     new 46c9f55  KYLIN-3597 fix code smells
     new ee93848  KYLIN-3597 Close resources after they are used.
     new 72c2361  KYLIN-2924 disable google error-prone for travis-ci
     new 2a90044  minor, git unshallow for master on travis-ci
     new d2a2864  KYLIN-3272 Upgrade Spark to 2.3.2
     new 97e9520  KYLIN-3597 fix sonar reported issues
     new e2c1e7e  KYLIN-3597 fix sonar issue in RocksDBLookupTable
     new 8581322  KYLIN-3496 Make calcite extras props available in JDBC Driver
     new 562e88d  Update HBaseResourceStore.java
     new 99cbaaa  KYLIN-3597 fix security vulnerability in GTFilterScanner.java
     new fdafecc  KYLIN-3597 delete unused files
     new ec10114  KYLIN-3629 NullPointException throws when use preparedStatement cache in some case
     new ae9c24a  KYLIN-3597 Improve code smell
     new 50f1758  KYLIN-3630, remove unused fields in the implementations of MeasureType
     new 52307ba  KYLIN-3617 Use job's cache in job scheduler
     new 5f6007f  KYLIN-3597 improve code smell
     new fb0ea36  KYLIN-3632 Add configuration that can switch on/off preparedStatement cache in Kylin server
     new 2ab720d  Revert "KYLIN-3617 Use job's cache in job scheduler"
     new 5a6ff1d  KYLIN-3635 Percentile calculation on Spark engine is wrong
     new 30c484c  KYLIN-3619 Some job won't clean up temp directory after finished
     new 4e97378  KYLIN-3634 when filter column has null value may cause incorrect query result
     new c87856d  KYLIN-3619 Remove suffix in temp directories
     new e9ccd07  KYLIN-3520 Deal with NULL values of measures for inmem cubing
     new a0dd4f7  KYLIN-3640 Fix cube with desc broken state can not be deleted
     new bef5dab  KYLIN-3642 Exclude conflict jar
     new c5394b4  KYLIN-3597 Refactor methods to reduce Cognitive Complexity
     new a0c662c  KYLIN-3604 Can't build cube with spark in HBase standalone mode
     new 8b51d4a  KYLIN-3633 Avoid potential dead lock when building global dictionary
     new 494933e  KYLIN-2200 Verify CompileException on UNION ALL query when result only contains one column and add IT.
     new 9c3165a  KYLIN-3620 resolve "--" is treated as comment marker between singe quotes
     new 21bc42d  KYLIN-3646 Add instruction about rowkey sequence in "Advanced setting" page
     new 2fd01c3  KYLIN-3613, UnknownHostException at 'Create HTable' step when use standalone hbase cluster
     new baae2c8  KYLIN-3645 clean table metadata when drop project
     new 0f0346b  KYLIN-3647 Fix inconsistent states of job and its sub-task
     new e9e427a  KYLIN-3597 Fix sonar issues
     new 9e77744  KYLIN-3648 Use Path as the input of addResource
     new 4817ae0  KYLIN-3651 JDBCResourceStore doesn't list all resources
     new 26e71a7  KYLIN-3635, make a stronger constraint about implementing method reset().
     new 3bcbaa8  KYLIN-3562, optimization the logic that updating the user when user logged in.
     new f120886  KYLIN-2894 Query cache expiration strategy switches from manual invalidation to signature checking
     new 1fcf967  KYLIN-2894 add trigger kylin.query.cache-signature-enabled for enabling query signature
     new 7e1cded  KYLIN-2894 add a new signature calculator FactTableRealizationSetCalculator
     new 95afdb4  KYLIN-2894 add unit test
     new 6b5f961  KYLIN-2896 remove query exception cache
     new b9aab01  KYLIN-2897 improve the query execution for a set of duplicate queries in a short period
     new cd952ff  KYLIN-2898 Introduce memcached as a distributed cache for queries
     new 73d0fd4  KYLIN-2898 config memcached
     new 2f04803  KYLIN-2898 add unit test
     new 7b58b16  KYLIN-2899 Introduce segment level query cache
     new 78b17f5  KYLIN-2723 fix potential concurrent issue when add rpc statistics
     new de86ed6  KYLIN-2898 If a distributed cache is adopted, small query results are also better to be put into the cache.
     new 43c7207  KYLIN-3649 segment region count and size are not correct when using mysql as Kylin metadata storage
     new 4f3fd2b  KYLIN-3556, replace String.intern to avoid unexpected locking collisions
     new fa6fdbd  KYLIN-3611 upgrade to apache tomcat 7.0.91
     new 3fabbe6  KYLIN-3611 upgrade to apache tomcat 7.0.91, update version in pom
     new 6544143  KYLIN-3644 Fix SparkFactDistinct step NumberFormatException
     new 2793a94  KYLIN-3662
     new 37fdf65  KYLIN-3649 fix ci
     new caf109e  KYLIN-3653 Build failed if two jobs for creating flat table submitted at same time
     new a0e7039  KYLIN-2897 minor fix
     new 90854f4  KYLIN-3670 Misspelled constant DEFAUL_JOB_CONF_SUFFIX
     new c154201  KYLIN-3663 fix deleting project error when project has more than one table
     new c549db5  KYLIN-3673 Increasing the limit of smoke-test building time
     new 8e1fd97  KYLIN-3678 CacheStateChecker may remove a cache file that under building
     new 91a1b31  KYLIN-3672 Performance is poor when multiple queries occur in short period
     new f0b26c4  KYLIN-3597, fix the critical bug reported by sonar: Make sure this expression can't be zero before doing this division.
     new 889dc50  KYLIN-3656  Improve HLLCounter performance
     new ff730db  KYLIN-3552 Data Source SDK to ingest data from different JDBC sources
     new 6344986  KYLIN-3676 Update customized Calctie
     new 45fb6a2  KYLIN-3689 When the startTime is equal to the endTime in build request, the segment will build all data.
     new c9d5d0d  KYLIN-3689 fix UT
     new dca3ee7  KYLIN-3631 Use Arrays#parallelSort instead of Arrays#sort
     new cede58b  KYLIN-3290 Leverage getDecalredConstructor().newInstance() instead of newInstance()
     new 4e03407  KYLIN-3636 set default storage_type to 2
     new 5aea3d4  KYLIN-3697:check port availability when starts kylin instance
     new 7105e5e  KYLIN-3697 minor, only kylin.sh start check-env
     new 78a5f34  KYLIN-3669, add log to indicate the case when using GTStreamAggregateScanner.
     new 98cb504  KYLIN-3666 HDFS metadata url not be recognized
     new ac7a86a  KYLIN-3693 TopN incorrect in Spark engine
     new 920ac2f  KYLIN-3559 Use Splitter for splitting String
     new b046585  KYLIN-3559 Resolve UT issues
     new 733d574  #KYLIN-3684, HIVE_LIB is not set or not resolved correctly
     new 70f15d7  KYLIN-3704 upgrade calcite version to 1.16.0-kylin-r2 version
     new c4e58dc  Revert "KYLIN-3559 Resolve UT issues"
     new 2d8e0fc  Revert "KYLIN-3559 Use Splitter for splitting String"
     new 4e6a69b  KYLIN-3665 Partition time column may never be added
     new 7bcc698  KYLIN-3597 fix static code issues
     new 97ee98b  KYLIN-3559 Use Splitter for splitting String (#364)
     new 4158d7b  KYLIN-3700 Quote sql identities when creating flat table
     new be5df4a  minor, remove a deprecated configuration("kylin.job.lock") usage in the code.
     new 7f672b0  KYLIN-3695, fix lose decimal scale value in column type decimal(a, b)
     new b8ad201  KYLIN-1111 Ignore unsupported hive column types when sync hive table
     new 2979f40  minor, clean deprecated configuration "kylin.job.controller.lock" in kylin-backward-compatibility.properties.
     new 39878ba  Issue 3597 fix sonar issues (#375)
     new b169d2d  KYLIN-3617 Use job's cache in job scheduler
     new 2de2b9f  KYLIN-3617 Add javadoc for magic number in isTaskExecutableOutput
     new 684f21c  KYLIN-3671 Improve ResourceTool and JDBCResourceStore's performance
     new 4e171c8  KYLIN-3597 fix snoar issues
     new 497cdf0  KYLIN-3597 fix sonar issues
     new 0d9fbbe  KYLIN-3416 Group by with expression can not aggregate exactly
     new 195640e  KYLIN-3710 JDBC data source support Spark cubing
     new cddb493  KYLIN-3680 Spark cubing failed with JDBC data source
     new 0b31a91  KYLIN-3597 Improve code smell
     new 2e5505c  ProjectL2Cache don't be invalidated when adding override config in cube level
     new 23732b2  KYLIN-3597 fix sonar issues
     new ba0fbf9  KYLIN-3406 Ignore execute output file lose
     new bef9e5c  APACHE-KYLIN-2932: Simplify the thread model for in-memory cubing
     new fab6955  KYLIN-3406 Fix for two inconsistent ExecuteManger
     new ab51ea9  set JAVA_HOME before server start or stop (#385)
     new 1358e80  Revert "KYLIN-3648 Use Path as the input of addResource"
     new f031005  KYLIN-3718 Segments in volatile range is more than designated value
     new 6590abf  KYLIN-2841 LIMIT is buggy with subquery
     new 6283046  KYLIN-3597 improve code smell
     new 32a3150  KYLIN-3597 fix sonar issues
     new fb54f38  KYLIN-3707 add configuration for setting isolation-level for sqoop
     new 9fb5b46  KYLIN-3721 modify sourceCacheKey for RDBMS
     new dd0943a  KYLIN-3607 add hbase-hadoop*-compat*.jar
     new 13d183a  KYLIN-3720 add column family check when save/update cube desc
     new 45f6f99  minor, add forked calcite source location
     new d4ad0fa  KYLIN-3699 Spark cubing failed when build with empty data
     new af77cfa  KYLIN-3544 refine guava cache for the recommended cuboids of cube planner
     new adb83bb  KYLIN-1819 Fix exception swallowed when start DefaultScheduler fail
     new 9b205fe  Merge pull request #405 from kyotoYaho/APACHE-KYLIN-1819
     new 91efa0c  KYLIN-3365 Add unit test for the coprocessor code, CubeVisitService
     new 6f760ef  Minor, delete file before create it
     new b31385f  KYLIN-3734 Fix UT error: invalid path of global job lock
     new 9bf0063   KYLIN-3724 Kylin IT test sql is unreasonable
     new 95b812f  KYLIN-3655 reinitialize CubeInstance when clear segments
     new 5982bb7  KYLIN-3737 refactor cache part for RDBMS
     new 3b9c5a5  KYLIN-3597 fix sonar issues
     new 0c60c6b  KYLIN-3021 check MapReduce job failed reason and include the diagnostics into email notification
     new 0c92d1c  minor, fix format in pom
     new 8cfe32c  KYLIN-3540 move queryService of CubeController to CubeService
     new 4db6a37  KYLIN-3540 refactor the interface of querying on SYSTEM project
     new 4850dac  KYLIN-3540 estimate the row counts of source cuboids which are not built & remove mandatory cuboids recommendation
     new 1af62e4  KYLIN-3738 Edit cube measure may make the decimal type change unexpectly revert KYLIN-2243 8c0c44b887e2caa21b097c2334f8d21c42462e80
     new 338a8f1  KYLIN-3597 fix sonar issues
     new 72f5333  KYLIN-3729 CLUSTER BY CAST(field AS STRING) will accelerate base cuboid build with UHC global dict
     new 5976c69  KYLIN-3643 Inner column filter can not pushdown
     new 7539ac4  KYLIN-3731 Segment pruning ignore complex data type
     new eadb2a8  minor, remove one duplicated line
     new e1ba10a  KYLIN-3597 fix sonar issues
     new e3896af  KYLIN-3628 The wrong result when a query with one lookup table
     new 49e835a  KYLIN-3597 fix sonar problems
     new a20f04f  KYLIN-3430 Global Dictionary Cleanup
     new cc00df6  KYLIN-2898 update LICENSE for couchbase/spymemcached
     new bfe1364  KYLIN-3748 No realization found exception thrown when a ready cube is building
     new 33edddf  KYLIN-3479 add configuration to override xml for RDBMS
     new 250f1a1  KYLIN-3752 Increase broadcaster's concurrency to avoid exceptions
     new b780759  KYLIN-3740 fix NPE during step of Extract Fact Table Distinct Columns
     new d5bfbb1  KYLIN-3722 Disable limit push down for multi olapcontext
     new 108765e  KYLIN-2972 CacheKey from SQLRequest should ignore the case of project name
     new 0e83b2d  KYLIN-3722 minor, update property name to follow naming convention
     new 1f36967  KYLIN-2972 minor fix
     new 5c9c3df  KYLIN-3725 disable javadoc check for all profiles
     new 601deae  KYLIN-3580 Avoid using entrySet to add elements
     new fe8014e  KYLIN-3767 Print the malformed JSON data consumed from Kafka Topic
     new 4c88f18  KYLIN-3772 CubeMetaIngester works abnormally
     new 3825a3d  KYLIN-3597 fix sonar issues
     new e778377  KYLIN-3597 fix sonar issues
     new 1cf2322  KYLIN-3770 ZipFileUtils is not compatible CubeMetaIngester
     new 4a025fe  KYLIN-3776 Float type in MySQL not properly converted to HIVE Double Type
     new e413a81  KYLIN-3776 Float type in MySQL not properly converted to HIVE Double Type
     new b4dace4  KYLIN-3773 modify dependency datasource-sdk
     new a96e642  KYLIN-3778 fix project level datasource
     new 168fa86  Add built instance in Job info
     new d3235e7  KYLIN-3597 fix sonar issues
     new c44832c  KYLIN-3703 get negative value when query kylin
     new b99beb6  KYLIN-3494: Build cube with spark reports ArrayIndexOutOfBoundsException
     new d678fe7  KYLIN-3494 ArrayIndexOutOfBoundsException may occur in streaming cube building
     new 2cea735  KYLIN 3790 return wrong error code when command executor is interrupted
     new 7437af8  KYLIN-2725 fix cube desc signature issue
     new 33ef4a9  KYLIN-3793 KafkaSampleProducer exit after generating 1 message
     new b1f1b7b  KYLIN-3794 fix mergeToInClause not working properly in some edge cases
     new bcf1b52  KYLIN-3799 Fix wrong hive-exec jar may be found by find-hive-dependency.sh on CDH
     new 24f1987  KYLIN-3797 Too many or filters may break Kylin server when flatting filter
     new 4fb7eee  minor, fix NPE
     new 5e9d533  KYLIN-3798 SQL Server cannot show databases
     new 7e9a8e1  minor, add more log when fail to locate kylin.properties
     new 2b759f9  #KYLIN-3814, add pause interval before the job retry
     new 0d43ae9  KYLIN-3597 fix sonar issues and refactor test cases
     new 96d72ca  KYLIN-3801 Add --text flag in grep in find-hive-dependency.sh
     new 73ae41c  KYLIN-3804 Advanced Snapshot Table save not friendly
     new 03714e0  minor, update sonarcloud token
     new d362acb  KYLIN-3815 Unexpected behavior when joinning streaming table and hive table Minor, replace hql with quoted table identity KYLIN-3815 code review
     new 6eee273  Update version to 3.0.0-SNAPSHOT
     new 0b92dd4  KYLIN-3819 kylin.sh run in the foreground
     new 5dcf206  KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (d090367)
            \
             N -- N -- N   refs/heads/master-hadoop3.1 (5dcf206)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 7629 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml                                        |     9 +-
 LICENSE                                            |    10 +
 assembly/pom.xml                                   |     6 +-
 .../test/java/org/apache/kylin/job/DeployUtil.java |     8 +-
 .../.settings/org.eclipse.core.resources.prefs     |     6 -
 atopcalcite/.settings/org.eclipse.jdt.core.prefs   |   386 -
 atopcalcite/.settings/org.eclipse.jdt.ui.prefs     |     7 -
 atopcalcite/pom.xml                                |    56 -
 .../adapter/enumerable/EnumerableWindowBridge.java |    39 -
 .../apache/calcite/prepare/CalcitePrepareImpl.java |  1518 ---
 .../apache/calcite/rel/rules/FilterJoinRule.java   |   311 -
 .../rel/rules/OLAPJoinPushThroughJoinRule.java     |   172 -
 .../rel/rules/OLAPJoinPushThroughJoinRule2.java    |   205 -
 .../org/apache/calcite/runtime/SqlFunctions.java   |  2238 ----
 .../org/apache/calcite/sql/type/SqlTypeUtil.java   |  1336 ---
 .../apache/calcite/sql2rel/RelFieldTrimmer.java    |    45 -
 .../apache/calcite/sql2rel/SqlToRelConverter.java  |  5656 ----------
 .../java/org/apache/calcite/tools/Programs.java    |   438 -
 .../java/org/apache/calcite/tools/RelUtils.java    |    71 -
 build/bin/build-incremental-cube.sh                |    45 +
 build/bin/check-env.sh                             |     5 +-
 build/bin/check-port-availability.sh               |    30 +
 build/bin/find-hive-dependency.sh                  |    63 +-
 build/bin/kylin-port-replace-util.sh               |     7 +
 build/bin/kylin.sh                                 |    30 +-
 build/bin/set-java-home.sh                         |    35 +
 build/bin/system-cube.sh                           |    99 +
 build/script/download-spark.sh                     |     4 +-
 build/script/prepare-libs.sh                       |     2 +
 build/smoke-test/testBuildCube.py                  |     2 +-
 {query => cache}/pom.xml                           |    66 +-
 .../spy/memcached/RefinedKetamaNodeLocator.java    |   279 +
 .../kylin/cache/cachemanager/CacheConstants.java   |    16 +-
 .../InstrumentedEhCacheCacheManager.java           |   101 +
 .../cache/cachemanager/MemcachedCacheManager.java  |   181 +
 .../RemoteLocalFailOverCacheManager.java           |    71 +
 .../cache/ehcache/InstrumentedEhCacheCache.java    |   205 +
 .../apache/kylin/cache/memcached/CacheStats.java   |    97 +
 .../kylin/cache/memcached/KeyHookLookup.java       |   139 +
 .../kylin/cache/memcached/MemcachedCache.java      |   374 +
 .../cache/memcached/MemcachedCacheConfig.java      |    97 +
 .../cache/memcached/MemcachedChunkingCache.java    |   279 +
 .../memcached/MemcachedConnectionFactory.java      |   193 +
 .../MemcachedConnectionFactoryBuilder.java         |   173 +
 .../kylin/cache/memcached/MemcachedMetrics.java    |   139 +
 .../RemoteLocalFailOverCacheManagerTest.java       |    62 +
 .../kylin/cache/memcached/MemcachedCacheTest.java  |    84 +
 .../memcached/MemcachedChunkingCacheTest.java      |   159 +
 cache/src/test/resources/cacheContext.xml          |    47 +
 cache/src/test/resources/ehcache-test.xml          |    21 +
 core-common/pom.xml                                |    43 +-
 .../kylin/common/BackwardCompatibilityConfig.java  |    18 +-
 .../java/org/apache/kylin/common/KylinConfig.java  |   130 +-
 .../org/apache/kylin/common/KylinConfigBase.java   |   376 +-
 .../java/org/apache/kylin/common/KylinVersion.java |    10 +-
 .../java/org/apache/kylin/common/QueryContext.java |    93 +-
 .../apache/kylin/common/debug/BackdoorToggles.java |    57 +-
 .../kylin/common/lock/DistributedLockFactory.java  |     2 +-
 .../common/metrics/common/MetricsFactory.java      |     4 +-
 .../metrics/metrics2/HadoopMetrics2Reporter.java   |   495 +
 .../metrics/metrics2/JsonFileMetricsReporter.java  |    13 +-
 .../common/metrics/metrics2/Metrics2Reporter.java  |     1 -
 .../common/persistence/AutoDeleteDirectory.java    |    58 +
 .../common/persistence/BrokenInputStream.java      |    58 -
 .../{BrokenEntity.java => ContentReader.java}      |    50 +-
 .../kylin/common/persistence/ContentWriter.java    |    81 +
 .../persistence/ExponentialBackoffRetry.java       |   118 +
 .../common/persistence/FileResourceStore.java      |   205 +-
 .../common/persistence/HDFSResourceStore.java      |   150 +-
 .../persistence/IdentifierFileResourceStore.java   |     4 -
 .../common/persistence/JDBCConnectionManager.java  |    19 +-
 .../kylin/common/persistence/JDBCResourceDAO.java  |   707 --
 .../kylin/common/persistence/JDBCResourceSQL.java  |   140 +
 .../common/persistence/JDBCResourceStore.java      |   572 +-
 .../common/persistence/PushdownResourceStore.java  |   205 +
 .../kylin/common/persistence/RawResource.java      |    61 +-
 .../common/persistence/ResourceParallelCopier.java |   359 +
 .../kylin/common/persistence/ResourceStore.java    |   485 +-
 .../kylin/common/persistence/ResourceTool.java     |   184 +-
 .../kylin/common/persistence/StringEntity.java     |    12 +-
 .../apache/kylin/common/restclient/RestClient.java |    65 +-
 .../java/org/apache/kylin/common/util/Bytes.java   |    47 +-
 .../org/apache/kylin/common/util/BytesUtil.java    |    20 +
 .../org/apache/kylin/common/util/CheckUtil.java    |    30 +-
 .../org/apache/kylin/common/util/ClassUtil.java    |     6 +-
 .../kylin/common/util/CliCommandExecutor.java      |     2 +-
 .../apache/kylin/common/util/CompressionUtils.java |     4 +
 .../org/apache/kylin/common/util/HadoopUtil.java   |    29 +-
 .../apache/kylin/common/util/HiveCmdBuilder.java   |    20 +-
 .../apache/kylin/common/util/IdentityUtils.java    |     5 +
 .../org/apache/kylin/common/util/JsonUtil.java     |     4 +
 .../org/apache/kylin/common/util/MailService.java  |     2 +-
 .../org/apache/kylin/common/util/MathUtil.java     |     5 +
 .../org/apache/kylin/common/util/RandomUtil.java   |     5 +
 .../org/apache/kylin/common/util/RangeUtil.java    |     4 +
 .../org/apache/kylin/common/util/SSHClient.java    |     7 +-
 .../org/apache/kylin/common/util/SortUtil.java     |     5 +
 .../kylin/common/util/SourceConfigurationUtil.java |     7 +-
 .../org/apache/kylin/common/util/SparkEntry.java   |     2 +-
 .../org/apache/kylin/common/util/StringUtil.java   |    26 +-
 .../org/apache/kylin/common/util/TimeUtil.java     |     4 +
 .../org/apache/kylin/common/util/ZipFileUtils.java |     4 +
 .../apache/kylin/common/util/ZooKeeperUtil.java    |     4 +
 .../kylin-backward-compatibility.properties        |     1 -
 .../src/main/resources/kylin-defaults.properties   |     2 +-
 .../main/resources/metadata-jdbc-mysql.properties  |     2 +-
 .../metrics2/HadoopMetrics2ReporterTest.java       |   415 +
 .../common/metrics/metrics2/StandaloneExample.java |   114 +
 .../persistence/AutoDeleteDirectoryTest.java       |    23 +-
 .../persistence/LocalFileResourceStoreTest.java    |    10 +-
 .../common/persistence/ResourceStoreTest.java      |    33 +-
 .../kylin/common/persistence/ResourceToolTest.java |     2 +-
 .../kylin/common/util/HiveCmdBuilderTest.java      |    10 +-
 .../kylin/common/util/InstallJarIntoMavenTest.java |    68 -
 .../apache/kylin/common/util/StringUtilTest.java   |    53 +
 core-cube/pom.xml                                  |     2 +-
 .../apache/kylin/cube/CubeCapabilityChecker.java   |    34 +-
 .../org/apache/kylin/cube/CubeDescManager.java     |    26 +-
 .../java/org/apache/kylin/cube/CubeInstance.java   |    13 +-
 .../java/org/apache/kylin/cube/CubeManager.java    |   285 +-
 .../java/org/apache/kylin/cube/CubeSegment.java    |     6 +
 .../java/org/apache/kylin/cube/CubeUpdate.java     |    20 +-
 .../kylin/cube/cli/CubeSignatureRefresher.java     |     5 +-
 .../kylin/cube/cli/DictionaryGeneratorCLI.java     |    38 +-
 .../apache/kylin/cube/common/SegmentPruner.java    |     4 +
 .../cube/cuboid/algorithm/BPUSCalculator.java      |    18 +-
 .../cube/cuboid/algorithm/CuboidRecommender.java   |    72 +-
 .../kylin/cube/cuboid/algorithm/CuboidStats.java   |   131 +-
 .../cube/cuboid/algorithm/CuboidStatsUtil.java     |   229 +-
 .../cuboid/algorithm/greedy/GreedyAlgorithm.java   |    62 +-
 .../kylin/cube/gridtable/CubeCodeSystem.java       |     8 +-
 .../cube/inmemcubing/CompoundCuboidWriter.java     |     8 +
 .../kylin/cube/inmemcubing/DoggedCubeBuilder.java  |    38 +-
 .../cube/inmemcubing/ICuboidGTTableWriter.java     |    47 +
 .../kylin/cube/inmemcubing/ICuboidWriter.java      |     3 +
 .../kylin/cube/inmemcubing/InMemCubeBuilder.java   |    69 +-
 .../inmemcubing/InputConverterUnitForRawData.java  |    76 +-
 .../apache/kylin/cube/inmemcubing2/CuboidTask.java |    53 +
 .../DefaultCuboidCollectorWithCallBack.java        |    53 +
 .../cube/inmemcubing2/DoggedCubeBuilder2.java      |   442 +
 .../ICuboidCollectorWithCallBack.java}             |    62 +-
 .../cube/inmemcubing2/ICuboidResultListener.java   |    50 +-
 .../kylin/cube/inmemcubing2/InMemCubeBuilder2.java |   409 +
 .../java/org/apache/kylin/cube/model/CubeDesc.java |    17 +-
 .../org/apache/kylin/cube/model/DimensionDesc.java |     2 +-
 .../validation/rule/AggregationGroupRule.java      |    28 +-
 .../upgrade/common/MetadataVersionRefresher.java   |     2 +-
 .../apache/kylin/cube/util/KeyValueBuilder.java    |   106 +
 .../apache/kylin/gridtable/GTFilterScanner.java    |   107 +-
 .../java/org/apache/kylin/gridtable/GTUtil.java    |    24 +-
 .../org/apache/kylin/cube/CubeInstanceTest.java    |    12 +
 .../org/apache/kylin/cube/CubeManagerTest.java     |     2 +-
 .../kylin/cube/cuboid/CuboidSchedulerTest.java     |     5 +-
 .../cube/cuboid/algorithm/CuboidStatsUtilTest.java |   162 +-
 core-dictionary/pom.xml                            |     2 +-
 .../apache/kylin/dict/AppendTrieDictionary.java    |     2 +-
 .../org/apache/kylin/dict/DictionaryGenerator.java |    47 +-
 .../kylin/dict/DictionaryInfoSerializer.java       |     8 +-
 .../org/apache/kylin/dict/DictionaryManager.java   |    22 +-
 .../apache/kylin/dict/DictionarySerializer.java    |     2 +-
 .../apache/kylin/dict/GlobalDictionaryBuilder.java |     9 +-
 .../org/apache/kylin/dict/IDictionaryBuilder.java  |     3 +
 .../org/apache/kylin/dict/NumberDictionary.java    |     2 +-
 .../org/apache/kylin/dict/NumberDictionary2.java   |     2 +-
 .../java/org/apache/kylin/dict/TrieDictionary.java |     2 +-
 .../apache/kylin/dict/TrieDictionaryForest.java    |     2 +-
 .../kylin/dict/global/GlobalDictHDFSStore.java     |     4 +-
 .../dict/global/SegmentAppendTrieDictBuilder.java  |     5 +
 .../dict/lookup/ExtTableSnapshotInfoManager.java   |     6 +-
 .../org/apache/kylin/dict/lookup/SnapshotCLI.java  |     5 +-
 .../apache/kylin/dict/lookup/SnapshotManager.java  |     8 +-
 .../dict/lookup/cache/RocksDBLookupTable.java      |    15 +-
 .../dict/lookup/cache/RocksDBLookupTableCache.java |     6 +-
 .../lookup/cache/RocksDBLookupTableCacheTest.java  |    10 +-
 core-job/pom.xml                                   |     2 +-
 .../java/org/apache/kylin/job/JobInstance.java     |    11 +
 .../java/org/apache/kylin/job/JoinedFlatTable.java |    53 +-
 .../org/apache/kylin/job/dao/ExecutableDao.java    |   132 +-
 .../apache/kylin/job/engine/JobEngineConfig.java   |     2 +-
 .../kylin/job/execution/AbstractExecutable.java    |    78 +-
 .../job/execution/DefaultChainedExecutable.java    |    41 +-
 .../kylin/job/execution/ExecutableManager.java     |    54 +-
 .../job/impl/threadpool/DefaultFetcherRunner.java  |    24 +-
 .../job/impl/threadpool/DefaultScheduler.java      |    40 +-
 .../job/impl/threadpool/DistributedScheduler.java  |    34 +-
 .../kylin/job/impl/threadpool/FetcherRunner.java   |     9 +-
 .../job/impl/threadpool/PriorityFetcherRunner.java |    24 +-
 .../kylin/job/util/FlatTableSqlQuoteUtils.java     |   253 +
 .../kylin/job/util/MailNotificationUtil.java       |     4 +
 .../org/apache/kylin/job/ErrorTestExecutable.java  |     2 +-
 ...utable.java => PersistExceptionExecutable.java} |    18 +-
 .../job/impl/threadpool/DefaultSchedulerTest.java  |    26 +-
 .../kylin/job/util/FlatTableSqlQuoteUtilsTest.java |   137 +
 core-metadata/pom.xml                              |    17 +-
 .../kylin/dimension/DimensionEncodingFactory.java  |     2 +-
 .../org/apache/kylin/measure/MeasureIngester.java  |     6 +-
 .../kylin/measure/basic/BigDecimalIngester.java    |     5 +
 .../kylin/measure/bitmap/BitmapAggregator.java     |    10 +-
 .../BitmapIntersectDistinctCountAggFunc.java       |     8 +-
 .../kylin/measure/bitmap/BitmapMeasureType.java    |     7 +-
 .../extendedcolumn/ExtendedColumnMeasureType.java  |     9 +-
 .../apache/kylin/measure/hllc/DenseRegister.java   |     5 +
 .../apache/kylin/measure/hllc/HLLCAggregator.java  |    10 +-
 .../apache/kylin/measure/hllc/HLLCMeasureType.java |     4 +-
 .../org/apache/kylin/measure/hllc/HLLCounter.java  |    30 +-
 .../measure/percentile/PercentileAggregator.java   |    10 +-
 .../measure/percentile/PercentileMeasureType.java  |     9 +-
 .../measure/percentile/PercentileSerializer.java   |     1 +
 .../apache/kylin/measure/raw/RawAggregator.java    |    12 +-
 .../apache/kylin/measure/raw/RawMeasureType.java   |    13 +-
 .../org/apache/kylin/measure/topn/Counter.java     |    18 +-
 .../kylin/measure/topn/DoubleDeltaSerializer.java  |     2 +-
 .../apache/kylin/measure/topn/TopNAggregator.java  |     8 +-
 .../kylin/measure/topn/TopNCounterSerializer.java  |     2 +-
 .../apache/kylin/measure/topn/TopNMeasureType.java |    50 +-
 .../kylin/metadata/TableMetadataManager.java       |     4 +-
 .../metadata/badquery/BadQueryHistoryManager.java  |     4 +-
 .../kylin/metadata/cachesync/Broadcaster.java      |    32 +-
 .../kylin/metadata/cachesync/CachedCrudAssist.java |     4 +-
 .../apache/kylin/metadata/datatype/DataType.java   |    24 +-
 .../kylin/metadata/datatype/DataTypeOrder.java     |    11 +-
 .../apache/kylin/metadata/draft/DraftManager.java  |     6 +-
 .../kylin/metadata/filter/ExtractTupleFilter.java  |     2 +-
 .../filter/TimeConditionLiteralsReplacer.java      |     2 +-
 .../apache/kylin/metadata/filter/TupleFilter.java  |    30 +-
 .../metadata/filter/UDF/MassInTupleFilter.java     |     2 +-
 .../apache/kylin/metadata/model/FunctionDesc.java  |     3 +-
 .../apache/kylin/metadata/model/ISourceAware.java  |     1 +
 .../apache/kylin/metadata/model/PartitionDesc.java |    39 +-
 .../org/apache/kylin/metadata/model/Segments.java  |     4 +-
 .../org/apache/kylin/metadata/model/TableDesc.java |    33 +-
 .../org/apache/kylin/metadata/model/TableRef.java  |     4 +
 .../kylin/metadata/project/ProjectL2Cache.java     |     7 -
 .../kylin/metadata/project/ProjectManager.java     |     8 +-
 .../kylin/metadata/realization/SQLDigest.java      |     4 +-
 .../org/apache/kylin/metadata/tuple/Tuple.java     |     4 +-
 .../main/java/org/apache/kylin/source/ISource.java |     2 +-
 .../kylin/source/ISourceMetadataExplorer.java      |     2 +
 .../org/apache/kylin/source/SourceManager.java     |     7 +-
 .../source/adhocquery/AbstractPushdownRunner.java  |    43 +
 .../kylin/source/adhocquery/IPushDownRunner.java   |    11 +
 .../kylin/source/datagen/ModelDataGenerator.java   |     2 +-
 .../main/java/org/apache/kylin/util/KryoUtils.java |     4 +
 .../kylin/measure/AggregatorMemEstimateTest.java   |     2 +-
 .../apache/kylin/measure/hllc/HLLCounterTest.java  |    83 +
 .../measure/topn/DoubleDeltaSerializerTest.java    |     6 +-
 .../apache/kylin/measure/topn/TopNCounterTest.java |     3 +-
 .../kylin/metadata/datatype/DataTypeTest.java      |     7 +
 .../kylin/metadata/filter/TupleFilterTest.java     |    64 +
 .../DefaultPartitionConditionBuilderTest.java      |     2 +-
 .../java/org/apache/kylin/source}/H2Database.java  |    72 +-
 core-metrics/pom.xml                               |     2 +-
 .../kylin/metrics/lib/impl/InstantReservoir.java   |     5 +-
 .../apache/kylin/metrics/lib/impl/RecordEvent.java |     3 +-
 .../metrics/lib/impl/RecordEventTimeDetail.java    |     2 +-
 core-storage/pom.xml                               |     2 +-
 .../storage/gtrecord/CubeScanRangePlanner.java     |     9 +-
 .../kylin/storage/gtrecord/CubeSegmentScanner.java |     5 +-
 .../storage/gtrecord/GTCubeStorageQueryBase.java   |    65 +-
 .../storage/gtrecord/SegmentCubeTupleIterator.java |    20 +-
 .../gtrecord/SortedIteratorMergerWithLimit.java    |     2 +-
 .../org/apache/kylin/storage/util/SizeOfUtil.java  |     1 +
 .../kylin/storage/gtrecord/DictGridTableTest.java  |    30 +-
 datasource-sdk/pom.xml                             |   155 +
 .../datasource/adaptor/AbstractJdbcAdaptor.java    |   448 +
 .../sdk/datasource/adaptor/AdaptorConfig.java      |    76 +
 .../sdk/datasource/adaptor/DefaultAdaptor.java     |   355 +
 .../kylin/sdk/datasource/adaptor/H2Adaptor.java    |    31 +-
 .../kylin/sdk/datasource/adaptor/MysqlAdaptor.java |    98 +
 .../sdk/datasource/framework/AdaptorFactory.java   |    18 +-
 .../framework/FixedCachedRowSetImpl.java           |   325 +
 .../sdk/datasource/framework/JdbcConnector.java    |   186 +
 .../framework/SourceConnectorFactory.java          |    59 +
 .../sdk/datasource/framework/conv/ConvMaster.java  |   150 +
 .../datasource/framework/conv/ConvSqlWriter.java   |   231 +
 .../framework/conv/DefaultConfiguer.java           |   138 +
 .../framework/conv/GenericSqlConverter.java        |    57 +
 .../datasource/framework/conv/ParamNodeParser.java |    36 +-
 .../datasource/framework/conv/SqlConverter.java    |   120 +
 .../framework/conv/SqlNodeConverter.java           |   129 +
 .../datasource/framework/conv/SqlParamsFinder.java |   109 +
 .../datasource/framework/def/DataSourceDef.java    |   219 +
 .../framework/def/DataSourceDefProvider.java       |   123 +
 .../sdk/datasource/framework/def/FunctionDef.java  |    32 +-
 .../sdk/datasource/framework/def/PropertyDef.java  |    28 +-
 .../sdk/datasource/framework/def/TypeDef.java      |   111 +
 .../sdk/datasource/framework/def/TypeMapping.java  |    35 +-
 .../framework/utils/ExpressionComparator.java      |   165 +
 .../sdk/datasource/framework/utils/XmlUtil.java    |    48 +
 .../src/main/resources/datasource/default.xml      |   202 +
 .../src/main/resources/datasource/mysql.xml        |    39 +
 .../sdk/datasource/adaptor/AdaptorConfigTest.java  |    22 +-
 .../datasource/framework/JdbcConnectorTest.java    |    98 +
 .../framework/SourceConnectorFactoryTest.java      |    34 +-
 .../framework/conv/GenericSqlConverterTest.java    |    71 +
 .../framework/conv/ParamNodeParserTest.java        |    34 +-
 .../framework/conv/SqlConverterTest.java           |   547 +
 .../framework/conv/SqlParamsFinderTest.java        |    62 +
 .../framework/def/DataSourceDefTest.java           |    82 +
 .../sdk/datasource/framework/def/TypeDefTest.java  |    54 +
 .../src/test/resources/datasource/default.xml      |   226 +
 .../test/resources/datasource/default.xml.override |   202 +
 .../src/test/resources/datasource/testing.xml      |   122 +
 dev-support/checkstyle-suppressions.xml            |    36 +
 dev-support/checkstyle.xml                         |    33 +-
 engine-mr/pom.xml                                  |     2 +-
 .../kylin/engine/mr/BatchMergeJobBuilder2.java     |     1 -
 .../apache/kylin/engine/mr/ByteArrayWritable.java  |    14 +-
 .../java/org/apache/kylin/engine/mr/IInput.java    |    31 +-
 .../java/org/apache/kylin/engine/mr/IMRInput.java  |    26 +-
 .../apache/kylin/engine/mr/JobBuilderSupport.java  |     3 +-
 .../kylin/engine/mr/LookupMaterializeContext.java  |     5 +-
 .../java/org/apache/kylin/engine/mr/MRUtil.java    |    15 +-
 .../kylin/engine/mr/common/AbstractHadoopJob.java  |    52 +-
 .../kylin/engine/mr/common/BaseCuboidBuilder.java  |    93 +-
 .../kylin/engine/mr/common/CubeStatsReader.java    |     4 +-
 .../engine/mr/common/CuboidRecommenderUtil.java    |    49 +-
 .../engine/mr/common/CuboidStatsReaderUtil.java    |    23 +
 .../kylin/engine/mr/common/HadoopCmdOutput.java    |    74 +-
 .../kylin/engine/mr/common/JobInfoConverter.java   |     2 +
 .../kylin/engine/mr/common/JobRelatedMetaUtil.java |    42 +-
 .../engine/mr/common/MapReduceExecutable.java      |     2 +-
 .../kylin/engine/mr/steps/CreateDictionaryJob.java |     4 +-
 .../engine/mr/steps/FactDistinctColumnsJob.java    |    22 +-
 .../mr/steps/FactDistinctColumnsReducer.java       |     2 +-
 .../mr/steps/InMemCuboidFromBaseCuboidMapper.java  |    25 +-
 .../kylin/engine/mr/steps/InMemCuboidMapper.java   |    23 +-
 .../engine/mr/steps/InMemCuboidMapperBase.java     |    30 +-
 .../kylin/engine/mr/steps/KVGTRecordWriter.java    |     4 +-
 .../kylin/engine/mr/steps/KeyDistributionJob.java  |   157 -
 .../engine/mr/steps/KeyDistributionMapper.java     |   124 -
 .../engine/mr/steps/KeyDistributionReducer.java    |   113 -
 .../engine/mr/steps/MergeDictionaryMapper.java     |    18 +-
 .../engine/mr/steps/MergeDictionaryReducer.java    |     3 +-
 .../kylin/engine/mr/steps/MergeStatisticsStep.java |     2 +-
 .../mr/steps/RowKeyDistributionCheckerJob.java     |    93 -
 .../mr/steps/RowKeyDistributionCheckerMapper.java  |   112 -
 .../mr/steps/RowKeyDistributionCheckerReducer.java |    51 -
 .../kylin/engine/mr/steps/SaveStatisticsStep.java  |     6 +-
 .../kylin/engine/mr/steps/SegmentReEncoder.java    |    11 +-
 .../mr/steps/UpdateCubeInfoAfterBuildStep.java     |     3 +
 .../engine/mr/steps/UpdateDictionaryStep.java      |     5 +-
 .../lookup/LookupSnapshotToMetaStoreStep.java      |     2 +-
 engine-spark/pom.xml                               |     5 +-
 .../org/apache/kylin/engine/spark/ISparkInput.java |    24 +-
 .../kylin/engine/spark/KylinKryoRegistrator.java   |     3 +
 .../kylin/engine/spark/SparkCubingByLayer.java     |     8 +-
 .../kylin/engine/spark/SparkCubingMerge.java       |   219 +-
 .../apache/kylin/engine/spark/SparkExecutable.java |    39 +-
 .../kylin/engine/spark/SparkFactDistinct.java      |   164 +-
 .../kylin/engine/spark/SparkMergingDictionary.java |    74 +-
 .../org/apache/kylin/engine/spark/SparkUtil.java   |    73 +-
 .../kylin/engine/spark/util/IteratorUtils.java     |     4 +
 .../localmeta/data/DEFAULT.TEST_ACCOUNT.csv        |  2000 ++++
 .../localmeta/data/DEFAULT.TEST_KYLIN_FACT.csv     | 10402 ++++++++++++++++++-
 .../localmeta/data/DEFAULT.TEST_ORDER.csv          |  5000 +++++++++
 examples/test_case_data/localmeta/kylin.properties |     8 +
 jdbc/pom.xml                                       |     9 +-
 .../main/java/org/apache/kylin/jdbc/Driver.java    |    25 +-
 .../java/org/apache/kylin/jdbc/IRemoteClient.java  |     9 +-
 .../java/org/apache/kylin/jdbc/JdbcFactory.java    |    13 +-
 .../java/org/apache/kylin/jdbc/KylinClient.java    |    48 +-
 .../org/apache/kylin/jdbc/KylinConnection.java     |    19 +-
 .../org/apache/kylin/jdbc/KylinConnectionInfo.java |    16 +-
 .../org/apache/kylin/jdbc/KylinJdbcFactory.java    |     4 +-
 .../java/org/apache/kylin/jdbc/KylinResultSet.java |    34 +-
 .../org/apache/kylin/jdbc/RemoteClientFactory.java |    14 +-
 .../java/org/apache/kylin/jdbc/DriverTest.java     |    27 +
 .../java/org/apache/kylin/jdbc/DummyClient.java    |     5 +-
 .../org/apache/kylin/jdbc/DummyJdbcFactory.java    |     2 +-
 .../org/apache/kylin/jdbc/KylinClientTest.java     |   114 +
 .../org/apache/kylin/jdbc/KylinConnectionTest.java |   198 +
 .../test/java/org/apache/kylin/jdbc/TestUtil.java  |    68 +
 jdbc/src/test/resources/query.json                 |    42 +
 jdbc/src/test/resources/tables_and_columns.json    |   747 ++
 kylin-it/pom.xml                                   |    21 +-
 .../cube/cuboid/algorithm/ITAlgorithmTestBase.java |     3 +-
 .../inmemcubing/ITDoggedCubeBuilderStressTest.java |     6 +
 .../cube/inmemcubing/ITDoggedCubeBuilderTest.java  |    73 +-
 .../cube/inmemcubing/ITInMemCubeBuilderTest.java   |    12 +-
 .../kylin/dict/ITGlobalDictionaryBuilderTest.java  |    68 +-
 .../org/apache/kylin/jdbc/ITJDBCDriverTest.java    |     2 +-
 .../kylin/job/BaseTestDistributedScheduler.java    |     6 +-
 .../java/org/apache/kylin/query/H2Database.java    |     2 +-
 .../org/apache/kylin/query/ITKylinQueryTest.java   |    34 +-
 .../kylin/source/hive/ITSnapshotManagerTest.java   |     2 +-
 .../storage/hbase/ITHBaseResourceStoreTest.java    |     4 +-
 .../apache/kylin/storage/hbase/ITStorageTest.java  |     1 +
 .../storage/jdbc/ITJDBCResourceStoreTest.java      |    16 +-
 .../query/sql_distinct_precisely/query02.sql       |     2 +-
 .../query/sql_distinct_precisely/query03.sql       |     6 +-
 .../query/sql_distinct_precisely/query04.sql       |     8 +-
 .../query03.sql                                    |     2 +-
 .../query04.sql}                                   |     1 +
 .../query02.sql => sql_limit/query06.sql}          |    16 +-
 .../test/resources/query/sql_subquery/query35.sql  |     2 +
 .../query02.sql => sql_subquery/query37.sql}       |    20 +-
 .../test/resources/query/sql_unionall/query01.sql  |     7 +
 .../test/resources/query/sql_unionall/query02.sql  |     8 +
 .../test/resources/query/sql_unionall/query03.sql  |    10 +
 metrics-reporter-hive/pom.xml                      |     2 +-
 metrics-reporter-kafka/pom.xml                     |     2 +-
 pom.xml                                            |  1649 +--
 query/pom.xml                                      |    21 +-
 .../org/apache/kylin/query/QueryConnection.java    |     8 +-
 .../kylin/query/adhoc/PushDownRunnerJdbcImpl.java  |    14 +-
 .../kylin/query/enumerator/HiveEnumerator.java     |     2 +-
 .../query/enumerator/LookupTableEnumerator.java    |    12 +-
 .../query/optrule/AggregateMultipleExpandRule.java |    17 -
 .../query/pushdown/PushdownRunnerSDKImpl.java      |   111 +
 .../kylin/query/relnode/KylinEnumerableUnion.java  |    95 +
 .../kylin/query/relnode/OLAPAggregateRel.java      |    19 +-
 .../kylin/query/relnode/OLAPAuthentication.java    |     8 +-
 .../apache/kylin/query/relnode/OLAPContext.java    |     6 +-
 .../apache/kylin/query/relnode/OLAPLimitRel.java   |     4 +-
 .../org/apache/kylin/query/relnode/OLAPRel.java    |     9 +-
 .../apache/kylin/query/relnode/OLAPTableScan.java  |    12 +-
 .../apache/kylin/query/relnode/OLAPUnionRel.java   |     5 +-
 .../relnode/visitor/TupleExpressionVisitor.java    |     5 +-
 .../query/relnode/visitor/TupleFilterVisitor.java  |    83 +-
 .../rules/RemoveBlackoutRealizationsRule.java      |    15 +-
 .../kylin/query/util/DefaultQueryTransformer.java  |     2 +-
 .../org/apache/kylin/query/util/PushDownUtil.java  |    29 +-
 .../org/apache/kylin/query/util/QueryUtil.java     |    46 +-
 .../java/org/apache/kylin/query/util/RexUtil.java  |     4 +
 .../relnode/visitor/TupleFilterVisitorTest.java    |    86 +
 .../org/apache/kylin/query/util/QueryUtilTest.java |    84 +-
 server-base/pom.xml                                |    21 +-
 .../broadcaster/BroadcasterReceiveServlet.java     |     9 +-
 .../kylin/rest/controller/CubeController.java      |   111 +-
 .../kylin/rest/controller/DashboardController.java |    66 +-
 .../kylin/rest/controller/DiagnosisController.java |    24 +-
 .../kylin/rest/controller/JobController.java       |     2 +-
 .../kylin/rest/controller/ModelController.java     |     4 +-
 .../kylin/rest/controller/ProjectController.java   |    10 +-
 .../kylin/rest/controller/TableController.java     |     4 +-
 .../apache/kylin/rest/init/InitialTaskManager.java |     3 +-
 .../org/apache/kylin/rest/job/HybridCubeCLI.java   |     6 +-
 .../apache/kylin/rest/job/MetadataCleanupJob.java  |    49 +-
 .../apache/kylin/rest/job/StorageCleanupJob.java   |     2 +-
 .../kylin/rest/metrics/QueryMetricsFacade.java     |     3 +-
 .../java/org/apache/kylin/rest/msg/CnMessage.java  |     4 +
 .../java/org/apache/kylin/rest/msg/Message.java    |     4 +
 .../org/apache/kylin/rest/request/SQLRequest.java  |    11 +-
 .../apache/kylin/rest/response/SQLResponse.java    |    32 +-
 .../rest/security/KylinAuthenticationProvider.java |     8 +-
 .../kylin/rest/security/KylinUserManager.java      |     4 +-
 .../apache/kylin/rest/security/ManagedUser.java    |    35 +-
 .../org/apache/kylin/rest/security/MockHTable.java |   776 ++
 .../kylin/rest/service/AclTableMigrationTool.java  |     6 +-
 .../apache/kylin/rest/service/AdminService.java    |     3 +-
 .../apache/kylin/rest/service/CacheService.java    |    11 +-
 .../org/apache/kylin/rest/service/CubeService.java |   108 +-
 .../kylin/rest/service/DashboardService.java       |    34 +-
 .../kylin/rest/service/DiagnosisService.java       |    11 +-
 .../org/apache/kylin/rest/service/JobService.java  |    29 +-
 .../kylin/rest/service/KylinUserService.java       |     2 +-
 .../apache/kylin/rest/service/ProjectService.java  |    12 +-
 .../apache/kylin/rest/service/QueryService.java    |   170 +-
 .../apache/kylin/rest/service/TableService.java    |    10 +-
 .../kylin/rest/signature/ComponentSignature.java   |    21 +-
 .../FactTableRealizationSetCalculator.java         |   112 +
 .../rest/signature/RealizationSetCalculator.java   |   102 +
 .../kylin/rest/signature/RealizationSignature.java |   164 +
 .../kylin/rest/signature/SegmentSignature.java     |    65 +
 .../kylin/rest/signature/SignatureCalculator.java  |    18 +-
 .../apache/kylin/rest/util/AclPermissionUtil.java  |    13 +-
 .../apache/kylin/rest/util/QueryRequestLimits.java |     2 +-
 .../kylin/rest/util/SQLResponseSignatureUtil.java  |    68 +
 .../apache/kylin/rest/util/TableauInterceptor.java |     4 +
 .../java/org/apache/kylin/rest/bean/BeanTest.java  |     2 +-
 .../org/apache/kylin/rest/bean/BeanValidator.java  |     2 +-
 .../kylin/rest/response/SQLResponseTest.java       |    49 +
 .../rest/signature/RealizationSignatureTest.java   |    46 +
 .../kylin/rest/signature/SegmentSignatureTest.java |    24 +-
 .../rest/signature/SignatureCalculatorTest.java    |   184 +
 server/pom.xml                                     |    12 +-
 server/src/main/resources/applicationContext.xml   |    28 +-
 .../kylin/rest/controller/CacheControllerTest.java |     2 +-
 .../kylin/rest/controller/CubeControllerTest.java  |    12 +
 .../kylin/rest/controller/JobControllerTest.java   |    12 -
 .../kylin/rest/controller/QueryControllerTest.java |     2 +-
 .../kylin/rest/security/KylinUserManagerTest.java  |     6 +-
 .../kylin/rest/security/TableACLManagerTest.java   |     6 +-
 .../kylin/rest/service/AdminServiceTest.java       |     3 +-
 .../apache/kylin/rest/service/ServiceTestBase.java |    10 +-
 .../kylin/rest/util/MultiNodeManagerTestBase.java  |     6 +-
 source-hive/pom.xml                                |     6 +-
 .../kylin/source/hive/BeelineHiveClient.java       |    50 +-
 .../kylin/source/hive/GarbageCollectionStep.java   |    15 +-
 .../apache/kylin/source/hive/HiveInputBase.java    |   108 +-
 .../org/apache/kylin/source/hive/HiveMRInput.java  |   104 +-
 .../kylin/source/hive/HiveMetadataExplorer.java    |    42 +-
 .../org/apache/kylin/source/hive/HiveSource.java   |     4 +-
 .../apache/kylin/source/hive/HiveSparkInput.java   |    82 +-
 .../hive/cardinality/ColumnCardinalityMapper.java  |     2 +-
 .../hive/cardinality/HiveColumnCardinalityJob.java |    99 +-
 .../HiveColumnCardinalityUpdateJob.java            |     3 +-
 .../apache/kylin/source/hive/HiveMRInputTest.java  |    21 +-
 {source-hive => source-jdbc}/pom.xml               |    41 +-
 .../org/apache/kylin/source/jdbc/HiveCmdStep.java  |     0
 .../org/apache/kylin/source/jdbc/JdbcDialect.java  |     0
 .../org/apache/kylin/source/jdbc/JdbcExplorer.java |     6 +-
 .../kylin/source/jdbc/JdbcHiveInputBase.java       |    78 +-
 .../apache/kylin/source/jdbc/JdbcHiveMRInput.java  |    61 +
 .../kylin/source/jdbc/JdbcHiveSparkInput.java      |    48 +
 .../org/apache/kylin/source/jdbc/JdbcSource.java   |     6 +-
 .../org/apache/kylin/source/jdbc/JdbcTable.java    |     1 -
 .../apache/kylin/source/jdbc/JdbcTableReader.java  |     1 -
 .../java/org/apache/kylin/source/jdbc/SqlUtil.java |    14 +-
 .../kylin/source/jdbc/extensible/JdbcExplorer.java |   199 +
 .../source/jdbc/extensible/JdbcHiveInputBase.java  |   127 +
 .../source/jdbc/extensible/JdbcHiveMRInput.java    |    67 +
 .../source/jdbc/extensible/JdbcHiveSparkInput.java |    55 +
 .../kylin/source/jdbc/extensible}/JdbcSource.java  |    42 +-
 .../kylin/source/jdbc/extensible}/JdbcTable.java   |    18 +-
 .../source/jdbc/extensible}/JdbcTableReader.java   |    38 +-
 .../source/jdbc/metadata/DefaultJdbcMetadata.java  |     0
 .../kylin/source/jdbc/metadata/IJdbcMetadata.java  |     0
 .../source/jdbc/metadata/JdbcMetadataFactory.java  |     0
 .../source/jdbc/metadata/MySQLJdbcMetadata.java    |     0
 .../jdbc/metadata/SQLServerJdbcMetadata.java       |    13 +-
 .../kylin/source/jdbc/sqoop/SqoopCmdStep.java      |    57 +-
 .../apache/kylin/source/jdbc/JdbcExplorerTest.java |     0
 .../org/apache/kylin/source/jdbc/SqlUtilTest.java  |     0
 .../source/jdbc/extensible/JdbcExplorerTest.java   |   111 +
 .../jdbc/extensible/JdbcHiveMRInputTest.java       |   143 +
 .../source/jdbc/extensible/JdbcSourceTest.java     |    62 +
 .../source/jdbc/extensible/JdbcTableTest.java      |    58 +
 .../kylin/source/jdbc/extensible/TestBase.java     |    66 +
 .../jdbc/metadata/DefaultJdbcMetadataTest.java     |     0
 .../jdbc/metadata/JdbcMetadataFactoryTest.java     |     0
 .../jdbc/metadata/MySQLJdbcMetadataTest.java       |     0
 .../jdbc/metadata/SQLServerJdbcMetadataTest.java   |     4 +-
 .../ut_meta/jdbc_source/cube/ut_jdbc_shard.json    |    10 +
 .../jdbc_source/cube_desc/ut_jdbc_shard.json       |   558 +
 source-kafka/pom.xml                               |     2 +-
 .../kylin/source/kafka/DefaultTimeParser.java      |     2 +-
 .../apache/kylin/source/kafka/KafkaInputBase.java  |   155 +-
 .../apache/kylin/source/kafka/KafkaMRInput.java    |    90 +-
 .../org/apache/kylin/source/kafka/KafkaSource.java |     8 +-
 .../apache/kylin/source/kafka/KafkaSparkInput.java |    86 +-
 .../kylin/source/kafka/TimedJsonStreamParser.java  |     2 +
 .../kafka/config/KafkaConsumerProperties.java      |    30 +-
 .../source/kafka/hadoop/KafkaFlatTableMapper.java  |     5 +-
 .../kafka/model/StreamCubeFactTableDesc.java       |   133 +
 .../kylin/source/kafka/util/KafkaClient.java       |     4 +
 .../source/kafka/util/KafkaSampleProducer.java     |    84 +-
 storage-hbase/pom.xml                              |    19 +-
 .../kylin/storage/hbase/HBaseResourceStore.java    |   274 +-
 .../hbase/cube/v2/CubeHBaseEndpointRPC.java        |   141 +-
 .../storage/hbase/cube/v2/SegmentQueryCache.java   |    80 +
 .../storage/hbase/cube/v2/SegmentQueryResult.java  |   101 +
 .../storage/hbase/lookup/HBaseLookupMRSteps.java   |     4 +-
 .../hbase/lookup/HBaseLookupRowEncoder.java        |     2 +-
 .../hbase/lookup/LookupTableHFilesBulkLoadJob.java |     4 +-
 .../hbase/lookup/LookupTableToHFileJob.java        |    10 +-
 .../hbase/lookup/LookupTableToHFileMapper.java     |     4 +-
 .../kylin/storage/hbase/steps/CreateHTableJob.java |   105 +-
 .../kylin/storage/hbase/steps/CubeHFileJob.java    |     9 +-
 .../storage/hbase/steps/HBaseCuboidWriter.java     |     6 +
 .../kylin/storage/hbase/steps/HBaseSparkSteps.java |     5 +
 .../kylin/storage/hbase/steps/SparkCubeHFile.java  |   192 +-
 .../kylin/storage/hbase/util/CleanHtableCLI.java   |     2 +-
 .../kylin/storage/hbase/util/CubeMigrationCLI.java |    22 +-
 .../storage/hbase/util/DeployCoprocessorCLI.java   |     2 +-
 .../storage/hbase/util/ExtendCubeToHybridCLI.java  |     6 +-
 .../hbase/util/GridTableHBaseBenchmark.java        |    55 +-
 .../storage/hbase/util/HbaseStreamingInput.java    |   262 -
 .../kylin/storage/hbase/util/RowCounterCLI.java    |    48 +-
 .../storage/hbase/util/UpdateHTableHostCLI.java    |    13 +-
 .../hbase/util/ZookeeperDistributedLock.java       |    51 +-
 .../storage/hbase/common/HiveJDBCClientTest.java   |   192 -
 .../storage/hbase/cube/SegmentQueryResultTest.java |   112 +
 .../coprocessor/endpoint/CubeVisitServiceTest.java |   568 +
 .../storage/hbase/steps/CubeHFileMapperTest.java   |    13 +-
 tomcat-ext/pom.xml                                 |     2 +-
 tool-assembly/pom.xml                              |     2 +-
 tool/pom.xml                                       |     2 +-
 .../apache/kylin/tool/AbstractInfoExtractor.java   |    18 +-
 .../org/apache/kylin/tool/CubeMetaExtractor.java   |    23 +-
 .../org/apache/kylin/tool/CubeMetaIngester.java    |    51 +-
 .../org/apache/kylin/tool/CubeMigrationCLI.java    |    25 +-
 .../apache/kylin/tool/CubeMigrationCheckCLI.java   |     9 +-
 .../org/apache/kylin/tool/DiagnosisInfoCLI.java    |    12 +-
 .../apache/kylin/tool/ExtendCubeToHybridCLI.java   |     6 +-
 .../org/apache/kylin/tool/HBaseUsageExtractor.java |     5 +-
 .../org/apache/kylin/tool/JobDiagnosisInfoCLI.java |    21 +-
 .../apache/kylin/tool/JobInstanceExtractor.java    |     3 +-
 .../java/org/apache/kylin/tool/KylinConfigCLI.java |     2 +-
 .../org/apache/kylin/tool/KylinLogExtractor.java   |     2 +-
 .../org/apache/kylin/tool/MetadataCleanupJob.java  |     2 +-
 .../org/apache/kylin/tool/MrJobInfoExtractor.java  |     2 +-
 .../tool/metrics/systemcube/CubeDescCreator.java   |     1 -
 .../java/org/apache/kylin/tool/util/ToolUtil.java  |     5 +
 .../apache/kylin/tool/CubeMetaExtractorTest.java   |     4 +-
 webapp/app/js/controllers/auth.js                  |     4 +-
 webapp/app/js/controllers/cube.js                  |     2 +-
 webapp/app/js/controllers/cubeAdvanceSetting.js    |    24 +-
 webapp/app/js/controllers/cubeMeasures.js          |   210 +-
 webapp/app/js/controllers/hybridInstance.js        |    26 +-
 webapp/app/js/controllers/hybridInstanceSchema.js  |     4 +-
 webapp/app/js/controllers/sourceMeta.js            |     4 +-
 webapp/app/less/app.less                           |    11 +-
 .../partials/cubeDesigner/advanced_settings.html   |   153 +-
 webapp/app/partials/cubeDesigner/measures.html     |    51 +
 webapp/app/partials/cubes/hybrid_detail.html       |    71 +
 webapp/app/partials/cubes/hybrid_edit.html         |     9 +-
 webapp/app/partials/jobs/job_steps.html            |     4 +
 webapp/app/partials/models/models_tree.html        |     3 +-
 610 files changed, 43084 insertions(+), 20394 deletions(-)
 delete mode 100644 atopcalcite/.settings/org.eclipse.core.resources.prefs
 delete mode 100644 atopcalcite/.settings/org.eclipse.jdt.core.prefs
 delete mode 100644 atopcalcite/.settings/org.eclipse.jdt.ui.prefs
 delete mode 100644 atopcalcite/pom.xml
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableWindowBridge.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/prepare/CalcitePrepareImpl.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/rel/rules/FilterJoinRule.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/rel/rules/OLAPJoinPushThroughJoinRule.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/rel/rules/OLAPJoinPushThroughJoinRule2.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/runtime/SqlFunctions.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/sql/type/SqlTypeUtil.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/sql2rel/RelFieldTrimmer.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/tools/Programs.java
 delete mode 100644 atopcalcite/src/main/java/org/apache/calcite/tools/RelUtils.java
 create mode 100644 build/bin/build-incremental-cube.sh
 create mode 100644 build/bin/check-port-availability.sh
 create mode 100644 build/bin/set-java-home.sh
 create mode 100644 build/bin/system-cube.sh
 copy {query => cache}/pom.xml (60%)
 create mode 100644 cache/src/main/java/net/spy/memcached/RefinedKetamaNodeLocator.java
 copy core-metadata/src/test/java/org/apache/kylin/metadata/model/TableDescTest.java => cache/src/main/java/org/apache/kylin/cache/cachemanager/CacheConstants.java (84%)
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/cachemanager/InstrumentedEhCacheCacheManager.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/cachemanager/MemcachedCacheManager.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/cachemanager/RemoteLocalFailOverCacheManager.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/ehcache/InstrumentedEhCacheCache.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/CacheStats.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/KeyHookLookup.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/MemcachedCache.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/MemcachedCacheConfig.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/MemcachedChunkingCache.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/MemcachedConnectionFactory.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/MemcachedConnectionFactoryBuilder.java
 create mode 100644 cache/src/main/java/org/apache/kylin/cache/memcached/MemcachedMetrics.java
 create mode 100644 cache/src/test/java/org/apache/kylin/cache/cachemanager/RemoteLocalFailOverCacheManagerTest.java
 create mode 100644 cache/src/test/java/org/apache/kylin/cache/memcached/MemcachedCacheTest.java
 create mode 100644 cache/src/test/java/org/apache/kylin/cache/memcached/MemcachedChunkingCacheTest.java
 create mode 100644 cache/src/test/resources/cacheContext.xml
 create mode 100644 cache/src/test/resources/ehcache-test.xml
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/metrics/metrics2/HadoopMetrics2Reporter.java
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/AutoDeleteDirectory.java
 delete mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/BrokenInputStream.java
 rename core-common/src/main/java/org/apache/kylin/common/persistence/{BrokenEntity.java => ContentReader.java} (53%)
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/ContentWriter.java
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/ExponentialBackoffRetry.java
 delete mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/JDBCResourceDAO.java
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/JDBCResourceSQL.java
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/PushdownResourceStore.java
 create mode 100644 core-common/src/main/java/org/apache/kylin/common/persistence/ResourceParallelCopier.java
 create mode 100644 core-common/src/test/java/org/apache/kylin/common/metrics/metrics2/HadoopMetrics2ReporterTest.java
 create mode 100644 core-common/src/test/java/org/apache/kylin/common/metrics/metrics2/StandaloneExample.java
 copy core-metadata/src/test/java/org/apache/kylin/metadata/datatype/DataTypeTest.java => core-common/src/test/java/org/apache/kylin/common/persistence/AutoDeleteDirectoryTest.java (61%)
 delete mode 100644 core-common/src/test/java/org/apache/kylin/common/util/InstallJarIntoMavenTest.java
 create mode 100644 core-common/src/test/java/org/apache/kylin/common/util/StringUtilTest.java
 create mode 100755 core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/ICuboidGTTableWriter.java
 create mode 100755 core-cube/src/main/java/org/apache/kylin/cube/inmemcubing2/CuboidTask.java
 create mode 100755 core-cube/src/main/java/org/apache/kylin/cube/inmemcubing2/DefaultCuboidCollectorWithCallBack.java
 create mode 100755 core-cube/src/main/java/org/apache/kylin/cube/inmemcubing2/DoggedCubeBuilder2.java
 copy core-cube/src/main/java/org/apache/kylin/cube/{inmemcubing/ICuboidWriter.java => inmemcubing2/ICuboidCollectorWithCallBack.java} (72%)
 mode change 100644 => 100755
 copy core-metadata/src/test/java/org/apache/kylin/metadata/model/TableDescTest.java => core-cube/src/main/java/org/apache/kylin/cube/inmemcubing2/ICuboidResultListener.java (78%)
 mode change 100644 => 100755
 create mode 100755 core-cube/src/main/java/org/apache/kylin/cube/inmemcubing2/InMemCubeBuilder2.java
 create mode 100644 core-cube/src/main/java/org/apache/kylin/cube/util/KeyValueBuilder.java
 create mode 100644 core-job/src/main/java/org/apache/kylin/job/util/FlatTableSqlQuoteUtils.java
 copy core-job/src/test/java/org/apache/kylin/job/{ErrorTestExecutable.java => PersistExceptionExecutable.java} (81%)
 create mode 100644 core-job/src/test/java/org/apache/kylin/job/util/FlatTableSqlQuoteUtilsTest.java
 create mode 100644 core-metadata/src/main/java/org/apache/kylin/source/adhocquery/AbstractPushdownRunner.java
 copy {kylin-it/src/test/java/org/apache/kylin/query => core-metadata/src/test/java/org/apache/kylin/source}/H2Database.java (79%)
 create mode 100644 datasource-sdk/pom.xml
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/AbstractJdbcAdaptor.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/AdaptorConfig.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/DefaultAdaptor.java
 copy source-hive/src/main/java/org/apache/kylin/source/jdbc/metadata/IJdbcMetadata.java => datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/H2Adaptor.java (58%)
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/adaptor/MysqlAdaptor.java
 copy core-common/src/main/java/org/apache/kylin/common/util/MathUtil.java => datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/AdaptorFactory.java (63%)
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/FixedCachedRowSetImpl.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/JdbcConnector.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/SourceConnectorFactory.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ConvMaster.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ConvSqlWriter.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/DefaultConfiguer.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/GenericSqlConverter.java
 copy engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/MergeDictionaryReducer.java => datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/ParamNodeParser.java (53%)
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverter.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlNodeConverter.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/conv/SqlParamsFinder.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/def/DataSourceDef.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/def/DataSourceDefProvider.java
 copy core-storage/src/main/java/org/apache/kylin/storage/util/SizeOfUtil.java => datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/def/FunctionDef.java (57%)
 copy jdbc/src/test/java/org/apache/kylin/jdbc/DummyJdbcFactory.java => datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/def/PropertyDef.java (64%)
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/def/TypeDef.java
 rename atopcalcite/src/main/java/org/apache/calcite/prepare/OnlyPrepareEarlyAbortException.java => datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/def/TypeMapping.java (54%)
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/utils/ExpressionComparator.java
 create mode 100644 datasource-sdk/src/main/java/org/apache/kylin/sdk/datasource/framework/utils/XmlUtil.java
 create mode 100644 datasource-sdk/src/main/resources/datasource/default.xml
 create mode 100644 datasource-sdk/src/main/resources/datasource/mysql.xml
 copy core-metadata/src/test/java/org/apache/kylin/metadata/datatype/DataTypeTest.java => datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/adaptor/AdaptorConfigTest.java (59%)
 create mode 100644 datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/JdbcConnectorTest.java
 rename atopcalcite/src/test/java/org/apache/calcite/runtime/SqlFunctionsTest.java => datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/SourceConnectorFactoryTest.java (52%)
 create mode 100644 datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/conv/GenericSqlConverterTest.java
 copy source-hive/src/test/java/org/apache/kylin/source/jdbc/SqlUtilTest.java => datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/conv/ParamNodeParserTest.java (50%)
 create mode 100644 datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/conv/SqlConverterTest.java
 create mode 100644 datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/conv/SqlParamsFinderTest.java
 create mode 100644 datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/def/DataSourceDefTest.java
 create mode 100644 datasource-sdk/src/test/java/org/apache/kylin/sdk/datasource/framework/def/TypeDefTest.java
 create mode 100644 datasource-sdk/src/test/resources/datasource/default.xml
 create mode 100644 datasource-sdk/src/test/resources/datasource/default.xml.override
 create mode 100644 datasource-sdk/src/test/resources/datasource/testing.xml
 copy engine-spark/src/main/java/org/apache/kylin/engine/spark/ISparkInput.java => engine-mr/src/main/java/org/apache/kylin/engine/mr/IInput.java (66%)
 delete mode 100644 engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/KeyDistributionJob.java
 delete mode 100644 engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/KeyDistributionMapper.java
 delete mode 100644 engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/KeyDistributionReducer.java
 delete mode 100644 engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/RowKeyDistributionCheckerJob.java
 delete mode 100644 engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/RowKeyDistributionCheckerMapper.java
 delete mode 100644 engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/RowKeyDistributionCheckerReducer.java
 create mode 100644 examples/test_case_data/localmeta/data/DEFAULT.TEST_ACCOUNT.csv
 create mode 100644 examples/test_case_data/localmeta/data/DEFAULT.TEST_ORDER.csv
 copy core-metadata/src/test/java/org/apache/kylin/metadata/model/TableDescTest.java => jdbc/src/main/java/org/apache/kylin/jdbc/JdbcFactory.java (83%)
 copy core-metadata/src/test/java/org/apache/kylin/metadata/model/TableDescTest.java => jdbc/src/main/java/org/apache/kylin/jdbc/KylinConnectionInfo.java (80%)
 rename core-metadata/src/test/java/org/apache/kylin/metadata/model/TableDescTest.java => jdbc/src/main/java/org/apache/kylin/jdbc/RemoteClientFactory.java (85%)
 create mode 100644 jdbc/src/test/java/org/apache/kylin/jdbc/KylinClientTest.java
 create mode 100644 jdbc/src/test/java/org/apache/kylin/jdbc/KylinConnectionTest.java
 create mode 100644 jdbc/src/test/java/org/apache/kylin/jdbc/TestUtil.java
 create mode 100644 jdbc/src/test/resources/query.json
 create mode 100644 jdbc/src/test/resources/tables_and_columns.json
 copy kylin-it/src/test/resources/query/{sql_distinct_precisely => sql_distinct_precisely_rollup}/query03.sql (97%)
 copy kylin-it/src/test/resources/query/{sql_distinct_precisely/query03.sql => sql_distinct_precisely_rollup/query04.sql} (97%)
 copy kylin-it/src/test/resources/query/{sql_distinct_precisely/query02.sql => sql_limit/query06.sql} (76%)
 copy kylin-it/src/test/resources/query/{sql_distinct_precisely/query02.sql => sql_subquery/query37.sql} (61%)
 create mode 100644 kylin-it/src/test/resources/query/sql_unionall/query01.sql
 create mode 100644 kylin-it/src/test/resources/query/sql_unionall/query02.sql
 create mode 100644 kylin-it/src/test/resources/query/sql_unionall/query03.sql
 create mode 100644 query/src/main/java/org/apache/kylin/query/pushdown/PushdownRunnerSDKImpl.java
 create mode 100644 query/src/main/java/org/apache/kylin/query/relnode/KylinEnumerableUnion.java
 mode change 100644 => 100755 query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
 mode change 100644 => 100755 query/src/main/java/org/apache/kylin/query/relnode/OLAPContext.java
 mode change 100644 => 100755 query/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java
 create mode 100644 query/src/test/java/org/apache/kylin/query/relnode/visitor/TupleFilterVisitorTest.java
 create mode 100644 server-base/src/main/java/org/apache/kylin/rest/security/MockHTable.java
 copy jdbc/src/test/java/org/apache/kylin/jdbc/DummyJdbcFactory.java => server-base/src/main/java/org/apache/kylin/rest/signature/ComponentSignature.java (73%)
 create mode 100644 server-base/src/main/java/org/apache/kylin/rest/signature/FactTableRealizationSetCalculator.java
 create mode 100644 server-base/src/main/java/org/apache/kylin/rest/signature/RealizationSetCalculator.java
 create mode 100644 server-base/src/main/java/org/apache/kylin/rest/signature/RealizationSignature.java
 create mode 100644 server-base/src/main/java/org/apache/kylin/rest/signature/SegmentSignature.java
 copy core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/ICuboidWriter.java => server-base/src/main/java/org/apache/kylin/rest/signature/SignatureCalculator.java (70%)
 create mode 100644 server-base/src/main/java/org/apache/kylin/rest/util/SQLResponseSignatureUtil.java
 create mode 100644 server-base/src/test/java/org/apache/kylin/rest/response/SQLResponseTest.java
 create mode 100644 server-base/src/test/java/org/apache/kylin/rest/signature/RealizationSignatureTest.java
 copy source-hive/src/test/java/org/apache/kylin/source/jdbc/metadata/JdbcMetadataFactoryTest.java => server-base/src/test/java/org/apache/kylin/rest/signature/SegmentSignatureTest.java (57%)
 create mode 100644 server-base/src/test/java/org/apache/kylin/rest/signature/SignatureCalculatorTest.java
 copy {source-hive => source-jdbc}/pom.xml (84%)
 copy {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/HiveCmdStep.java (100%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/JdbcDialect.java (100%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/JdbcExplorer.java (99%)
 rename source-hive/src/main/java/org/apache/kylin/source/jdbc/JdbcHiveMRInput.java => source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcHiveInputBase.java (84%)
 create mode 100644 source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcHiveMRInput.java
 create mode 100644 source-jdbc/src/main/java/org/apache/kylin/source/jdbc/JdbcHiveSparkInput.java
 copy {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/JdbcSource.java (93%)
 copy {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/JdbcTable.java (99%)
 copy {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/JdbcTableReader.java (99%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/SqlUtil.java (91%)
 create mode 100644 source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible/JdbcExplorer.java
 create mode 100644 source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible/JdbcHiveInputBase.java
 create mode 100644 source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible/JdbcHiveMRInput.java
 create mode 100644 source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible/JdbcHiveSparkInput.java
 rename {source-hive/src/main/java/org/apache/kylin/source/jdbc => source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible}/JdbcSource.java (67%)
 rename {source-hive/src/main/java/org/apache/kylin/source/jdbc => source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible}/JdbcTable.java (84%)
 rename {source-hive/src/main/java/org/apache/kylin/source/jdbc => source-jdbc/src/main/java/org/apache/kylin/source/jdbc/extensible}/JdbcTableReader.java (74%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/metadata/DefaultJdbcMetadata.java (100%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/metadata/IJdbcMetadata.java (100%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/metadata/JdbcMetadataFactory.java (100%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/metadata/MySQLJdbcMetadata.java (100%)
 rename {source-hive => source-jdbc}/src/main/java/org/apache/kylin/source/jdbc/metadata/SQLServerJdbcMetadata.java (84%)
 rename source-hive/src/main/java/org/apache/kylin/source/jdbc/HiveCmdStep.java => source-jdbc/src/main/java/org/apache/kylin/source/jdbc/sqoop/SqoopCmdStep.java (54%)
 rename {source-hive => source-jdbc}/src/test/java/org/apache/kylin/source/jdbc/JdbcExplorerTest.java (100%)
 rename {source-hive => source-jdbc}/src/test/java/org/apache/kylin/source/jdbc/SqlUtilTest.java (100%)
 create mode 100644 source-jdbc/src/test/java/org/apache/kylin/source/jdbc/extensible/JdbcExplorerTest.java
 create mode 100644 source-jdbc/src/test/java/org/apache/kylin/source/jdbc/extensible/JdbcHiveMRInputTest.java
 create mode 100644 source-jdbc/src/test/java/org/apache/kylin/source/jdbc/extensible/JdbcSourceTest.java
 create mode 100644 source-jdbc/src/test/java/org/apache/kylin/source/jdbc/extensible/JdbcTableTest.java
 create mode 100644 source-jdbc/src/test/java/org/apache/kylin/source/jdbc/extensible/TestBase.java
 rename {source-hive => source-jdbc}/src/test/java/org/apache/kylin/source/jdbc/metadata/DefaultJdbcMetadataTest.java (100%)
 rename {source-hive => source-jdbc}/src/test/java/org/apache/kylin/source/jdbc/metadata/JdbcMetadataFactoryTest.java (100%)
 rename {source-hive => source-jdbc}/src/test/java/org/apache/kylin/source/jdbc/metadata/MySQLJdbcMetadataTest.java (100%)
 rename {source-hive => source-jdbc}/src/test/java/org/apache/kylin/source/jdbc/metadata/SQLServerJdbcMetadataTest.java (93%)
 create mode 100644 source-jdbc/src/test/resources/ut_meta/jdbc_source/cube/ut_jdbc_shard.json
 create mode 100644 source-jdbc/src/test/resources/ut_meta/jdbc_source/cube_desc/ut_jdbc_shard.json
 create mode 100644 source-kafka/src/main/java/org/apache/kylin/source/kafka/model/StreamCubeFactTableDesc.java
 create mode 100755 storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SegmentQueryCache.java
 create mode 100755 storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/SegmentQueryResult.java
 delete mode 100644 storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/HbaseStreamingInput.java
 delete mode 100644 storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/HiveJDBCClientTest.java
 create mode 100644 storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/SegmentQueryResultTest.java
 create mode 100644 storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitServiceTest.java
 create mode 100644 webapp/app/partials/cubes/hybrid_detail.html