You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ma...@apache.org on 2015/04/16 16:32:31 UTC

[50/50] [abbrv] phoenix git commit: Fix compilation errors and assertion failures

Fix compilation errors and assertion failures


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

Branch: refs/heads/calcite
Commit: 9309fff7ee1dadbfa4e9956662caaa4131561138
Parents: 2368ea6 3fb3bb4
Author: maryannxue <we...@intel.com>
Authored: Thu Apr 16 10:31:13 2015 -0400
Committer: maryannxue <we...@intel.com>
Committed: Thu Apr 16 10:31:13 2015 -0400

----------------------------------------------------------------------
 .gitignore                                      |   5 +
 NOTICE                                          |   5 +
 bin/end2endTest.py                              |   3 +-
 bin/performance.py                              |  13 +-
 bin/psql.py                                     |   3 +-
 phoenix-assembly/pom.xml                        |   8 +-
 phoenix-assembly/src/build/client.xml           |   4 +-
 .../src/build/components-major-client.xml       |   2 +
 .../src/build/components/all-common-files.xml   |  11 +-
 .../src/build/components/all-common-jars.xml    |  11 +
 .../src/build/server-without-antlr.xml          |   2 +
 phoenix-assembly/src/build/server.xml           |   2 +
 phoenix-core/pom.xml                            |  11 +-
 .../wal/ReadWriteKeyValuesWithCodecIT.java      |  14 +-
 ...ReplayWithIndexWritesAndCompressedWALIT.java |  34 +-
 .../apache/phoenix/end2end/AlterSessionIT.java  |  92 +++
 .../phoenix/end2end/ArithmeticQueryIT.java      |  88 +++
 .../phoenix/end2end/ArrayAppendFunctionIT.java  | 667 +++++++++++++++++++
 .../org/apache/phoenix/end2end/ArrayIT.java     |  12 +-
 .../org/apache/phoenix/end2end/BaseViewIT.java  |   1 +
 .../end2end/ClientTimeArithmeticQueryIT.java    |  10 +-
 .../phoenix/end2end/CoalesceFunctionIT.java     |   2 +-
 .../end2end/ConvertTimezoneFunctionIT.java      |  42 +-
 .../org/apache/phoenix/end2end/DateTimeIT.java  | 637 ++++++++++++++++++
 .../apache/phoenix/end2end/DerivedTableIT.java  |   4 +-
 .../phoenix/end2end/EncodeFunctionIT.java       |  12 +-
 .../org/apache/phoenix/end2end/HashJoinIT.java  |  10 -
 .../apache/phoenix/end2end/InstrFunctionIT.java | 126 ++++
 .../org/apache/phoenix/end2end/KeyOnlyIT.java   |   2 +-
 .../phoenix/end2end/LikeExpressionIT.java       |  88 +++
 .../org/apache/phoenix/end2end/NotQueryIT.java  |   8 +-
 .../org/apache/phoenix/end2end/OrderByIT.java   | 396 ++++++++++-
 .../phoenix/end2end/PhoenixMetricsIT.java       | 151 +++++
 .../end2end/QueryDatabaseMetaDataIT.java        | 217 +++---
 .../phoenix/end2end/QueryWithLimitIT.java       |   2 +-
 .../end2end/RegexpReplaceFunctionIT.java        | 100 +++
 .../phoenix/end2end/RegexpSubstrFunctionIT.java |  43 +-
 .../RoundFloorCeilFunctionsEnd2EndIT.java       | 114 ++++
 .../phoenix/end2end/RowValueConstructorIT.java  |  33 +-
 .../phoenix/end2end/SignFunctionEnd2EndIT.java  | 141 ++++
 .../phoenix/end2end/StatsCollectorIT.java       |   1 +
 .../StatsCollectorWithSplitsAndMultiCFIT.java   |   7 +
 .../org/apache/phoenix/end2end/SubqueryIT.java  |   8 +-
 .../end2end/SubqueryUsingSortMergeJoinIT.java   |  20 +-
 .../end2end/TimezoneOffsetFunctionIT.java       |  39 +-
 .../phoenix/end2end/ToDateFunctionIT.java       |  57 ++
 .../org/apache/phoenix/end2end/UnionAllIT.java  | 648 ++++++++++++++++++
 .../phoenix/end2end/VariableLengthPKIT.java     |   6 +-
 .../index/GlobalIndexOptimizationIT.java        |  11 +-
 .../index/ImmutableIndexWithStatsIT.java        |  89 +++
 .../end2end/index/IndexExpressionIT.java        | 165 +++--
 .../phoenix/end2end/index/IndexHandlerIT.java   |  12 +-
 .../phoenix/end2end/index/LocalIndexIT.java     |  32 +-
 .../end2end/index/MutableIndexFailureIT.java    |   6 +-
 .../index/balancer/IndexLoadBalancerIT.java     |   6 +-
 .../EndToEndCoveredColumnsIndexBuilderIT.java   |   8 +-
 .../apache/phoenix/mapreduce/IndexToolIT.java   | 296 ++++++++
 .../apache/phoenix/rpc/PhoenixClientRpcIT.java  | 113 ++++
 .../apache/phoenix/rpc/PhoenixServerRpcIT.java  | 232 +++++++
 .../TestPhoenixIndexRpcSchedulerFactory.java    |  64 ++
 .../phoenix/trace/PhoenixTraceReaderIT.java     |   2 +-
 .../phoenix/trace/PhoenixTracingEndToEndIT.java |  57 +-
 phoenix-core/src/main/antlr3/PhoenixSQL.g       | 155 ++---
 .../hbase/ipc/PhoenixIndexRpcScheduler.java     | 120 ----
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 129 ++++
 .../hbase/ipc/PhoenixRpcSchedulerFactory.java   |  95 +++
 .../controller/ClientRpcControllerFactory.java  |  60 ++
 .../ipc/controller/IndexRpcController.java      |  51 ++
 .../ipc/controller/MetadataRpcController.java   |  55 ++
 .../controller/ServerRpcControllerFactory.java  |  62 ++
 .../regionserver/IndexHalfStoreFileReader.java  |  48 +-
 .../IndexHalfStoreFileReaderGenerator.java      |  14 +-
 .../regionserver/IndexSplitTransaction.java     |  30 +-
 .../hbase/regionserver/KeyValueSkipListSet.java | 183 +++++
 .../hbase/regionserver/LocalIndexMerger.java    |   4 +-
 .../hbase/regionserver/LocalIndexSplitter.java  |  29 +-
 .../apache/phoenix/cache/JodaTimezoneCache.java |  84 +++
 .../calcite/rules/PhoenixClientJoinRule.java    |  33 +-
 .../phoenix/compile/CreateTableCompiler.java    |  37 +
 .../apache/phoenix/compile/DeleteCompiler.java  |   2 +-
 .../phoenix/compile/ExpressionCompiler.java     |  15 +-
 .../apache/phoenix/compile/FromCompiler.java    |   6 +-
 .../apache/phoenix/compile/GroupByCompiler.java |  56 +-
 .../apache/phoenix/compile/JoinCompiler.java    |   4 +-
 .../apache/phoenix/compile/OrderByCompiler.java |  50 +-
 .../phoenix/compile/OrderPreservingTracker.java | 259 +++++++
 .../phoenix/compile/PostIndexDDLCompiler.java   |  38 +-
 .../apache/phoenix/compile/QueryCompiler.java   |  69 +-
 .../phoenix/compile/StatementNormalizer.java    |   2 +-
 .../phoenix/compile/SubqueryRewriter.java       |  19 +-
 .../phoenix/compile/SubselectRewriter.java      |   5 +-
 .../apache/phoenix/compile/TraceQueryPlan.java  |  33 +-
 .../TrackOrderPreservingExpressionCompiler.java | 249 -------
 .../apache/phoenix/compile/UnionCompiler.java   |  88 +++
 .../apache/phoenix/compile/WhereOptimizer.java  |  34 +-
 .../coprocessor/BaseScannerRegionObserver.java  |   6 +-
 .../coprocessor/MetaDataEndpointImpl.java       |   2 +-
 .../phoenix/coprocessor/MetaDataProtocol.java   |   4 +-
 .../coprocessor/SequenceRegionObserver.java     |   2 +-
 .../UngroupedAggregateRegionObserver.java       |   8 +-
 .../exception/DataExceedsCapacityException.java |  40 ++
 .../phoenix/exception/SQLExceptionCode.java     |   9 +-
 .../ValueTypeIncompatibleException.java         |  36 -
 .../apache/phoenix/execute/AggregatePlan.java   |   1 +
 .../apache/phoenix/execute/BaseQueryPlan.java   |   8 +-
 .../apache/phoenix/execute/MutationState.java   |  38 +-
 .../org/apache/phoenix/execute/UnionPlan.java   | 190 ++++++
 .../expression/ByteBasedLikeExpression.java     |  48 ++
 .../expression/DecimalAddExpression.java        |   4 +-
 .../expression/DecimalDivideExpression.java     |   4 +-
 .../expression/DecimalMultiplyExpression.java   |   4 +-
 .../expression/DecimalSubtractExpression.java   |   4 +-
 .../phoenix/expression/ExpressionType.java      |  42 +-
 .../phoenix/expression/LikeExpression.java      |  64 +-
 .../expression/StringBasedLikeExpression.java   |  48 ++
 .../function/ArrayAppendFunction.java           | 127 ++++
 .../ByteBasedRegexpReplaceFunction.java         |  40 ++
 .../function/ByteBasedRegexpSplitFunction.java  |  38 ++
 .../function/ByteBasedRegexpSubstrFunction.java |  38 ++
 .../function/ConvertTimezoneFunction.java       |  38 +-
 .../expression/function/DayOfMonthFunction.java |  83 +++
 .../expression/function/HourFunction.java       |  81 +++
 .../expression/function/InstrFunction.java      | 105 +++
 .../expression/function/MinuteFunction.java     |  81 +++
 .../expression/function/MonthFunction.java      |  83 +++
 .../expression/function/NowFunction.java        |  48 ++
 .../expression/function/RandomFunction.java     |  17 +
 .../function/RegexpReplaceFunction.java         |  38 +-
 .../function/RegexpSplitFunction.java           |  54 +-
 .../function/RegexpSubstrFunction.java          |  48 +-
 .../expression/function/SecondFunction.java     |  81 +++
 .../expression/function/SignFunction.java       |  74 ++
 .../StringBasedRegexpReplaceFunction.java       |  40 ++
 .../StringBasedRegexpSplitFunction.java         |  38 ++
 .../StringBasedRegexpSubstrFunction.java        |  38 ++
 .../function/TimezoneOffsetFunction.java        |  25 +-
 .../expression/function/WeekFunction.java       |  83 +++
 .../expression/function/YearFunction.java       |  82 +++
 .../util/regex/AbstractBasePattern.java         |  33 +
 .../util/regex/AbstractBaseSplitter.java        |  24 +
 .../expression/util/regex/GuavaSplitter.java    |  54 ++
 .../expression/util/regex/JONIPattern.java      | 201 ++++++
 .../expression/util/regex/JavaPattern.java      |  93 +++
 .../visitor/CloneExpressionVisitor.java         |   3 +-
 .../filter/SingleKeyValueComparisonFilter.java  |   4 +-
 .../phoenix/hbase/index/IndexQosCompat.java     |  98 ---
 .../index/IndexQosRpcControllerFactory.java     |  86 ---
 .../org/apache/phoenix/hbase/index/Indexer.java |  10 +-
 .../hbase/index/balancer/IndexLoadBalancer.java |   7 +-
 .../covered/CoveredColumnsIndexBuilder.java     |   2 +-
 .../hbase/index/covered/data/IndexMemStore.java |  27 +-
 .../index/covered/data/LazyValueGetter.java     |   5 +-
 .../index/covered/example/CoveredColumn.java    |   6 +-
 .../example/CoveredColumnIndexCodec.java        |   6 +-
 .../filter/ApplyAndFilterDeletesFilter.java     |   8 +-
 .../index/covered/update/ColumnReference.java   | 131 ++--
 .../ipc/PhoenixIndexRpcSchedulerFactory.java    |  91 ---
 .../index/scanner/FilteredKeyValueScanner.java  |  26 +-
 .../phoenix/hbase/index/scanner/Scanner.java    |   5 +-
 .../hbase/index/scanner/ScannerBuilder.java     |  12 +-
 .../index/table/CoprocessorHTableFactory.java   |  20 -
 .../hbase/index/util/IndexManagementUtil.java   |  40 --
 .../index/util/ReadOnlyImmutableBytesPtr.java   |  59 ++
 .../hbase/index/wal/IndexedKeyValue.java        |  17 -
 .../apache/phoenix/index/IndexMaintainer.java   |  11 +-
 .../phoenix/iterate/BaseResultIterators.java    |  15 +-
 .../apache/phoenix/iterate/ExplainTable.java    |  89 +--
 .../iterate/MergeSortTopNResultIterator.java    |   3 -
 .../phoenix/iterate/ParallelIterators.java      |   7 +-
 .../phoenix/iterate/ScanningResultIterator.java |  24 +-
 .../phoenix/iterate/SpoolingResultIterator.java |   9 +-
 .../phoenix/iterate/UnionResultIterators.java   | 109 +++
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  19 +-
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |   3 +-
 .../phoenix/jdbc/PhoenixPreparedStatement.java  |   3 +-
 .../apache/phoenix/jdbc/PhoenixResultSet.java   |  10 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   | 116 +++-
 .../java/org/apache/phoenix/job/JobManager.java | 146 +++-
 .../phoenix/mapreduce/CsvBulkImportUtil.java    |   6 +-
 .../phoenix/mapreduce/CsvBulkLoadTool.java      |  19 +-
 .../phoenix/mapreduce/CsvToKeyValueMapper.java  |  42 +-
 .../phoenix/mapreduce/PhoenixInputFormat.java   |  22 +-
 .../phoenix/mapreduce/PhoenixJobCounters.java   |  29 +
 .../phoenix/mapreduce/PhoenixRecordWriter.java  |   2 +-
 .../phoenix/mapreduce/index/IndexTool.java      | 302 +++++++++
 .../mapreduce/index/PhoenixIndexDBWritable.java |  91 +++
 .../index/PhoenixIndexImportMapper.java         | 133 ++++
 .../phoenix/mapreduce/util/ConnectionUtil.java  |  82 ++-
 .../util/PhoenixConfigurationUtil.java          |  93 ++-
 .../mapreduce/util/PhoenixMapReduceUtil.java    |  22 +-
 .../phoenix/memory/GlobalMemoryManager.java     |   8 +-
 .../org/apache/phoenix/monitoring/Counter.java  |  85 +++
 .../org/apache/phoenix/monitoring/Metric.java   |  64 ++
 .../phoenix/monitoring/PhoenixMetrics.java      | 118 ++++
 .../phoenix/monitoring/SizeStatistic.java       |  78 +++
 .../apache/phoenix/optimize/QueryOptimizer.java |   2 +-
 .../phoenix/parse/AlterSessionStatement.java    |  38 ++
 .../phoenix/parse/CreateIndexStatement.java     |   8 +-
 .../parse/IndexExpressionParseNodeRewriter.java |  30 +-
 .../apache/phoenix/parse/LiteralParseNode.java  |   5 +
 .../apache/phoenix/parse/ParseNodeFactory.java  | 149 ++++-
 .../apache/phoenix/parse/ParseNodeRewriter.java |   5 +-
 .../phoenix/parse/RegexpReplaceParseNode.java   |  55 ++
 .../phoenix/parse/RegexpSplitParseNode.java     |  55 ++
 .../phoenix/parse/RegexpSubstrParseNode.java    |  55 ++
 .../apache/phoenix/parse/SelectStatement.java   |  49 +-
 .../apache/phoenix/parse/TraceStatement.java    |  12 +-
 .../parse/UpdateStatisticsStatement.java        |  11 +-
 .../phoenix/query/BaseQueryServicesImpl.java    |   3 +-
 .../query/ConnectionQueryServicesImpl.java      |   3 +-
 .../org/apache/phoenix/query/HTableFactory.java |   3 +-
 .../apache/phoenix/query/QueryConstants.java    |   2 +
 .../org/apache/phoenix/query/QueryServices.java |  14 +-
 .../phoenix/query/QueryServicesOptions.java     |  41 +-
 .../schema/ConstraintViolationException.java    |  18 +-
 .../phoenix/schema/IllegalDataException.java    |  18 +-
 .../apache/phoenix/schema/MetaDataClient.java   |  31 +-
 .../org/apache/phoenix/schema/PTableImpl.java   |   7 +-
 .../org/apache/phoenix/schema/RowKeySchema.java |  39 +-
 .../schema/stats/StatisticsCollector.java       |  21 +-
 .../phoenix/schema/types/PArrayDataType.java    | 176 +++++
 .../apache/phoenix/schema/types/PBinary.java    |   6 +-
 .../org/apache/phoenix/schema/types/PChar.java  |   8 +-
 .../apache/phoenix/schema/types/PDataType.java  |   3 +-
 .../apache/phoenix/schema/types/PDecimal.java   |  18 +-
 .../apache/phoenix/schema/types/PDouble.java    |  12 +-
 .../org/apache/phoenix/schema/types/PFloat.java |   9 +-
 .../apache/phoenix/schema/types/PInteger.java   |   9 +-
 .../org/apache/phoenix/schema/types/PLong.java  |  13 +-
 .../phoenix/schema/types/PNumericType.java      |  44 ++
 .../phoenix/schema/types/PRealNumber.java       |  39 ++
 .../apache/phoenix/schema/types/PSmallint.java  |   9 +-
 .../apache/phoenix/schema/types/PTinyint.java   |  11 +-
 .../phoenix/schema/types/PUnsignedDouble.java   |   9 +-
 .../phoenix/schema/types/PUnsignedFloat.java    |   5 +-
 .../phoenix/schema/types/PUnsignedInt.java      |   5 +-
 .../phoenix/schema/types/PUnsignedLong.java     |  16 +-
 .../phoenix/schema/types/PUnsignedSmallint.java |   5 +-
 .../schema/types/PUnsignedTimestamp.java        |   2 +-
 .../phoenix/schema/types/PUnsignedTinyint.java  |   5 +-
 .../phoenix/schema/types/PWholeNumber.java      |  35 +
 .../apache/phoenix/trace/TraceMetricSource.java |  15 +-
 .../org/apache/phoenix/trace/TraceReader.java   |   2 +-
 .../apache/phoenix/trace/TracingIterator.java   |   2 +-
 .../org/apache/phoenix/trace/TracingUtils.java  |   2 +-
 .../org/apache/phoenix/trace/util/NullSpan.java |  10 +-
 .../org/apache/phoenix/trace/util/Tracing.java  |  51 +-
 .../org/apache/phoenix/util/ColumnInfo.java     |  20 +-
 .../java/org/apache/phoenix/util/DateUtil.java  |  19 +-
 .../phoenix/util/DefaultEnvironmentEdge.java    |  34 +
 .../apache/phoenix/util/EnvironmentEdge.java    |  34 +
 .../phoenix/util/EnvironmentEdgeManager.java    |  74 ++
 .../java/org/apache/phoenix/util/IndexUtil.java |  28 +-
 .../java/org/apache/phoenix/util/JDBCUtil.java  |  42 +-
 .../org/apache/phoenix/util/MetaDataUtil.java   |  22 +-
 .../org/apache/phoenix/util/PhoenixRuntime.java |  16 +-
 .../java/org/apache/phoenix/util/QueryUtil.java |  46 +-
 .../java/org/apache/phoenix/util/ScanUtil.java  |  19 +-
 .../org/apache/phoenix/util/SchemaUtil.java     |  16 +-
 .../org/apache/phoenix/util/StringUtil.java     |  73 +-
 .../phoenix/util/csv/CsvUpsertExecutor.java     |   5 +
 .../hbase/ipc/PhoenixIndexRpcSchedulerTest.java |  20 +-
 .../PhoenixIndexRpcSchedulerFactoryTest.java    | 106 ---
 .../PhoenixRpcSchedulerFactoryTest.java         | 125 ++++
 .../phoenix/cache/JodaTimezoneCacheTest.java    |  53 ++
 .../phoenix/compile/QueryCompilerTest.java      | 179 ++++-
 .../phoenix/compile/QueryMetaDataTest.java      |  11 +
 .../phoenix/compile/QueryOptimizerTest.java     |  13 +-
 .../phoenix/compile/WhereOptimizerTest.java     |  72 +-
 .../expression/ArithmeticOperationTest.java     |  16 +-
 .../expression/ArrayAppendFunctionTest.java     | 345 ++++++++++
 .../phoenix/expression/ILikeExpressionTest.java |  32 +-
 .../phoenix/expression/LikeExpressionTest.java  |  39 +-
 .../expression/RegexpReplaceFunctionTest.java   |  81 +++
 .../expression/RegexpSplitFunctionTest.java     |  94 +++
 .../expression/RegexpSubstrFunctionTest.java    |  83 +++
 .../phoenix/expression/SignFunctionTest.java    | 124 ++++
 .../expression/SortOrderExpressionTest.java     |  12 +-
 .../expression/function/InstrFunctionTest.java  | 108 +++
 .../util/regex/PatternPerformanceTest.java      | 144 ++++
 .../index/covered/TestLocalTableState.java      |   8 +-
 .../index/covered/data/TestIndexMemStore.java   |   5 +-
 .../index/write/TestWALRecoveryCaching.java     |  14 +-
 .../recovery/TestPerRegionIndexWriteCache.java  |  15 +-
 .../apache/phoenix/jdbc/PhoenixTestDriver.java  |   5 +-
 .../mapreduce/CsvBulkImportUtilTest.java        |  14 +-
 .../mapreduce/CsvToKeyValueMapperTest.java      |  26 +-
 .../util/PhoenixConfigurationUtilTest.java      |  60 +-
 .../apache/phoenix/parse/QueryParserTest.java   |  31 +-
 .../java/org/apache/phoenix/query/BaseTest.java |  30 +-
 .../org/apache/phoenix/query/QueryPlanTest.java |   2 -
 .../phoenix/schema/types/PDataTypeTest.java     |   2 +
 .../phoenix/trace/TraceMetricsSourceTest.java   |   4 +-
 .../org/apache/phoenix/util/ColumnInfoTest.java |   8 +-
 .../org/apache/phoenix/util/JDBCUtilTest.java   |  15 +
 .../apache/phoenix/util/MetaDataUtilTest.java   |  18 +-
 .../org/apache/phoenix/util/QueryUtilTest.java  |   2 +-
 .../org/apache/phoenix/util/StringUtilTest.java |  32 +-
 .../java/org/apache/phoenix/util/TestUtil.java  |  28 +-
 phoenix-flume/pom.xml                           |   6 +-
 phoenix-pherf/README.md                         | 105 +++
 phoenix-pherf/cluster/pherf.sh                  |  33 +
 .../config/datamodel/user_defined_schema.sql    |  27 +
 phoenix-pherf/config/env.sh                     |  32 +
 phoenix-pherf/config/pherf.properties           |  31 +
 .../config/scenario/user_defined_scenario.xml   | 134 ++++
 phoenix-pherf/pom.xml                           | 290 ++++++++
 phoenix-pherf/src/main/assembly/cluster.xml     |  52 ++
 phoenix-pherf/src/main/assembly/standalone.xml  |  52 ++
 .../java/org/apache/phoenix/pherf/Pherf.java    | 201 ++++++
 .../apache/phoenix/pherf/PherfConstants.java    |  63 ++
 .../phoenix/pherf/configuration/Column.java     | 210 ++++++
 .../phoenix/pherf/configuration/DataModel.java  |  75 +++
 .../pherf/configuration/DataOverride.java       |  36 +
 .../pherf/configuration/DataSequence.java       |  23 +
 .../pherf/configuration/DataTypeMapping.java    |  46 ++
 .../pherf/configuration/ExecutionType.java      |  23 +
 .../phoenix/pherf/configuration/Query.java      | 136 ++++
 .../phoenix/pherf/configuration/QuerySet.java   | 130 ++++
 .../phoenix/pherf/configuration/Scenario.java   | 163 +++++
 .../pherf/configuration/XMLConfigParser.java    | 157 +++++
 .../pherf/exception/FileLoaderException.java    |  28 +
 .../exception/FileLoaderRuntimeException.java   |  28 +
 .../phoenix/pherf/exception/PherfException.java |  30 +
 .../pherf/exception/PherfRuntimeException.java  |  30 +
 .../phoenix/pherf/jmx/MonitorDetails.java       |  50 ++
 .../phoenix/pherf/jmx/MonitorManager.java       | 173 +++++
 .../java/org/apache/phoenix/pherf/jmx/Stat.java |  32 +
 .../jmx/monitors/CPULoadAverageMonitor.java     |  33 +
 .../pherf/jmx/monitors/ExampleMonitor.java      |  33 +
 .../pherf/jmx/monitors/FreeMemoryMonitor.java   |  30 +
 .../GarbageCollectorElapsedTimeMonitor.java     |  44 ++
 .../pherf/jmx/monitors/HeapMemoryMonitor.java   |  32 +
 .../pherf/jmx/monitors/MaxMemoryMonitor.java    |  30 +
 .../phoenix/pherf/jmx/monitors/Monitor.java     |  30 +
 .../jmx/monitors/NonHeapMemoryMonitor.java      |  32 +
 .../ObjectPendingFinalizationCountMonitor.java  |  33 +
 .../pherf/jmx/monitors/ThreadMonitor.java       |  32 +
 .../pherf/jmx/monitors/TotalMemoryMonitor.java  |  30 +
 .../phoenix/pherf/loaddata/DataLoader.java      | 365 ++++++++++
 .../pherf/result/DataLoadThreadTime.java        |  95 +++
 .../pherf/result/DataLoadTimeSummary.java       |  84 +++
 .../phoenix/pherf/result/DataModelResult.java   |  77 +++
 .../phoenix/pherf/result/QueryResult.java       | 141 ++++
 .../phoenix/pherf/result/QuerySetResult.java    |  47 ++
 .../org/apache/phoenix/pherf/result/Result.java |  54 ++
 .../phoenix/pherf/result/ResultHandler.java     |  37 +
 .../phoenix/pherf/result/ResultManager.java     | 103 +++
 .../apache/phoenix/pherf/result/ResultUtil.java | 271 ++++++++
 .../phoenix/pherf/result/ResultValue.java       |  40 ++
 .../apache/phoenix/pherf/result/RunTime.java    | 114 ++++
 .../phoenix/pherf/result/ScenarioResult.java    |  47 ++
 .../apache/phoenix/pherf/result/ThreadTime.java | 141 ++++
 .../phoenix/pherf/result/file/Extension.java    |  38 ++
 .../phoenix/pherf/result/file/Header.java       |  41 ++
 .../pherf/result/file/ResultFileDetails.java    |  46 ++
 .../pherf/result/impl/CSVResultHandler.java     | 139 ++++
 .../pherf/result/impl/ImageResultHandler.java   | 127 ++++
 .../pherf/result/impl/XMLResultHandler.java     | 103 +++
 .../apache/phoenix/pherf/rules/DataValue.java   |  89 +++
 .../phoenix/pherf/rules/RulesApplier.java       | 377 +++++++++++
 .../phoenix/pherf/schema/SchemaReader.java      |  97 +++
 .../apache/phoenix/pherf/util/PhoenixUtil.java  | 199 ++++++
 .../apache/phoenix/pherf/util/ResourceList.java | 214 ++++++
 .../phoenix/pherf/util/RowCalculator.java       |  78 +++
 .../pherf/workload/MultithreadedDiffer.java     | 113 ++++
 .../pherf/workload/MultithreadedRunner.java     | 170 +++++
 .../phoenix/pherf/workload/QueryExecutor.java   | 246 +++++++
 .../phoenix/pherf/workload/QueryVerifier.java   | 195 ++++++
 .../pherf/workload/WorkloadExecutor.java        | 115 ++++
 .../datamodel/create_prod_test_unsalted.sql     |  33 +
 phoenix-pherf/src/main/resources/hbase-site.xml |  25 +
 .../scenario/prod_test_unsalted_scenario.xml    | 342 ++++++++++
 .../phoenix/pherf/BaseTestWithCluster.java      |  67 ++
 .../org/apache/phoenix/pherf/ColumnTest.java    |  50 ++
 .../phoenix/pherf/ConfigurationParserTest.java  | 200 ++++++
 .../apache/phoenix/pherf/DataIngestTest.java    |  78 +++
 .../apache/phoenix/pherf/DataLoaderTest.java    | 108 +++
 .../org/apache/phoenix/pherf/PherfTest.java     |  67 ++
 .../org/apache/phoenix/pherf/ResourceTest.java  |  68 ++
 .../org/apache/phoenix/pherf/ResultTest.java    | 209 ++++++
 .../apache/phoenix/pherf/RuleGeneratorTest.java | 213 ++++++
 .../apache/phoenix/pherf/SchemaReaderTest.java  |  73 ++
 .../apache/phoenix/pherf/TestHBaseProps.java    |  35 +
 .../test/resources/datamodel/test_schema.sql    |  31 +
 phoenix-pherf/src/test/resources/hbase-site.xml |  25 +
 .../src/test/resources/pherf.test.properties    |  47 ++
 .../test/resources/scenario/test_scenario.xml   | 161 +++++
 phoenix-pherf/standalone/pherf.sh               |  28 +
 phoenix-pig/pom.xml                             |   2 +-
 .../pig/util/QuerySchemaParserFunction.java     |   2 +-
 .../pig/util/SqlQueryToColumnInfoFunction.java  |   2 +-
 .../pig/util/PhoenixPigSchemaUtilTest.java      |   1 +
 phoenix-protocol/src/main/PGuidePosts.proto     |  20 +
 phoenix-spark/README.md                         | 147 ++++
 phoenix-spark/pom.xml                           | 545 +++++++++++++++
 phoenix-spark/src/it/resources/log4j.xml        |  70 ++
 phoenix-spark/src/it/resources/setup.sql        |  35 +
 .../apache/phoenix/spark/PhoenixSparkIT.scala   | 417 ++++++++++++
 .../phoenix/spark/ConfigurationUtil.scala       |  65 ++
 .../phoenix/spark/DataFrameFunctions.scala      |  51 ++
 .../apache/phoenix/spark/DefaultSource.scala    |  41 ++
 .../org/apache/phoenix/spark/PhoenixRDD.scala   | 168 +++++
 .../phoenix/spark/PhoenixRecordWritable.scala   |  89 +++
 .../apache/phoenix/spark/PhoenixRelation.scala  |  80 +++
 .../phoenix/spark/ProductRDDFunctions.scala     |  51 ++
 .../phoenix/spark/SparkContextFunctions.scala   |  41 ++
 .../spark/SparkSqlContextFunctions.scala        |  39 ++
 .../org/apache/phoenix/spark/package.scala      |  36 +
 pom.xml                                         |  30 +-
 410 files changed, 23696 insertions(+), 2366 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixClientJoinRule.java
----------------------------------------------------------------------
diff --cc phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixClientJoinRule.java
index 99ba81f,0000000..9558209
mode 100644,000000..100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixClientJoinRule.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/rules/PhoenixClientJoinRule.java
@@@ -1,55 -1,0 +1,64 @@@
 +package org.apache.phoenix.calcite.rules;
 +
 +import java.util.Iterator;
 +import java.util.List;
 +
 +import org.apache.calcite.plan.RelOptRule;
 +import org.apache.calcite.plan.RelOptRuleCall;
++import org.apache.calcite.plan.RelTraitSet;
 +import org.apache.calcite.rel.RelCollation;
++import org.apache.calcite.rel.RelCollationTraitDef;
 +import org.apache.calcite.rel.RelCollations;
 +import org.apache.calcite.rel.RelFieldCollation;
 +import org.apache.calcite.rel.RelFieldCollation.Direction;
 +import org.apache.calcite.rel.RelFieldCollation.NullDirection;
 +import org.apache.calcite.rel.RelNode;
 +import org.apache.calcite.rel.core.JoinInfo;
 +import org.apache.phoenix.calcite.rel.PhoenixClientJoin;
 +import org.apache.phoenix.calcite.rel.PhoenixClientSort;
 +import org.apache.phoenix.calcite.rel.PhoenixJoin;
 +import org.apache.phoenix.calcite.rel.PhoenixRel;
++
 +import com.google.common.collect.Lists;
 +
 +public class PhoenixClientJoinRule extends RelOptRule {
 +    
 +    public static PhoenixClientJoinRule INSTANCE = new PhoenixClientJoinRule();
 +
 +    public PhoenixClientJoinRule() {
 +        super(operand(PhoenixJoin.class, any()), "PhoenixClientJoinRule");
 +    }
 +
 +    @Override
 +    public void onMatch(RelOptRuleCall call) {
 +        PhoenixJoin join = call.rel(0);
 +        RelNode left = join.getLeft();
 +        RelNode right = join.getRight();
 +        JoinInfo joinInfo = JoinInfo.of(left, right, join.getCondition());
 +        
-         List<RelFieldCollation> leftFieldCollations = Lists.newArrayList();
-         for (Iterator<Integer> iter = joinInfo.leftKeys.iterator(); iter.hasNext();) {
-             leftFieldCollations.add(new RelFieldCollation(iter.next(), Direction.ASCENDING,NullDirection.FIRST));
-         }
-         RelCollation leftCollation = RelCollations.of(leftFieldCollations);
-         RelNode newLeft = new PhoenixClientSort(left.getCluster(), left.getTraitSet().replace(PhoenixRel.CONVENTION).replace(leftCollation), left, leftCollation, null, null);
-         
-         List<RelFieldCollation> rightFieldCollations = Lists.newArrayList();
-         for (Iterator<Integer> iter = joinInfo.rightKeys.iterator(); iter.hasNext();) {
-             rightFieldCollations.add(new RelFieldCollation(iter.next(), Direction.ASCENDING,NullDirection.FIRST));
++        RelNode newLeft = left;
++        RelNode newRight = right;
++        if (!joinInfo.leftKeys.isEmpty()) {
++            List<RelFieldCollation> leftFieldCollations = Lists.newArrayList();
++            for (Iterator<Integer> iter = joinInfo.leftKeys.iterator(); iter.hasNext();) {
++                leftFieldCollations.add(new RelFieldCollation(iter.next(), Direction.ASCENDING,NullDirection.FIRST));
++            }
++            RelCollation leftCollation = RelCollationTraitDef.INSTANCE.canonize(RelCollations.of(leftFieldCollations));
++            RelTraitSet leftTraitSet = left.getTraitSet().replace(PhoenixRel.CONVENTION).replace(leftCollation);
++            newLeft = new PhoenixClientSort(left.getCluster(), leftTraitSet, left, leftCollation, null, null);
++
++            List<RelFieldCollation> rightFieldCollations = Lists.newArrayList();
++            for (Iterator<Integer> iter = joinInfo.rightKeys.iterator(); iter.hasNext();) {
++                rightFieldCollations.add(new RelFieldCollation(iter.next(), Direction.ASCENDING,NullDirection.FIRST));
++            }
++            RelCollation rightCollation = RelCollationTraitDef.INSTANCE.canonize(RelCollations.of(rightFieldCollations));
++            RelTraitSet rightTraitSet = right.getTraitSet().replace(PhoenixRel.CONVENTION).replace(rightCollation);
++            newRight = new PhoenixClientSort(right.getCluster(), rightTraitSet, right, rightCollation, null, null);
 +        }
-         RelCollation rightCollation = RelCollations.of(rightFieldCollations);
-         RelNode newRight = new PhoenixClientSort(right.getCluster(), right.getTraitSet().replace(PhoenixRel.CONVENTION).replace(rightCollation), right, rightCollation, null, null);
 +
 +        call.transformTo(new PhoenixClientJoin(join.getCluster(),
 +                join.getTraitSet(), newLeft, newRight, join.getCondition(), 
 +                join.getJoinType(), join.getVariablesStopped()));
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderByCompiler.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/main/java/org/apache/phoenix/parse/SelectStatement.java
----------------------------------------------------------------------
diff --cc phoenix-core/src/main/java/org/apache/phoenix/parse/SelectStatement.java
index 4b4e7a3,44b24af..87b944b
--- a/phoenix-core/src/main/java/org/apache/phoenix/parse/SelectStatement.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/parse/SelectStatement.java
@@@ -35,13 -36,6 +36,13 @@@ import org.apache.phoenix.parse.Functio
   * @since 0.1
   */
  public class SelectStatement implements FilterableStatement {
 +    public static final SelectStatement SELECT_STAR =
 +            new SelectStatement(
 +                    null, null, false, 
 +                    Collections.<AliasedNode>singletonList(new AliasedNode(null, WildcardParseNode.INSTANCE)),
 +                    null, Collections.<ParseNode>emptyList(),
 +                    null, Collections.<OrderByNode>emptyList(),
-                     null, 0, false, false);
++                    null, 0, false, false, Collections.<SelectStatement>emptyList());
      public static final SelectStatement SELECT_ONE =
              new SelectStatement(
                      null, null, false, 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/9309fff7/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index de50aae,977218d..d89899c
--- a/pom.xml
+++ b/pom.xml
@@@ -102,12 -100,12 +104,13 @@@
      <findbugs.version>1.3.2</findbugs.version>
      <jline.version>2.11</jline.version>
      <snappy.version>0.3</snappy.version>
-     <netty.version>3.6.6.Final</netty.version>
+     <netty.version>4.0.23.Final</netty.version>
      <commons-codec.version>1.7</commons-codec.version>
-     <htrace.version>2.04</htrace.version>
+     <htrace.version>3.1.0-incubating</htrace.version>
      <collections.version>3.2.1</collections.version>
-     <jodatime.version>2.3</jodatime.version>
+     <jodatime.version>2.7</jodatime.version>
+     <joni.version>2.1.2</joni.version>
 +    <calcite.version>1.2.0-incubating</calcite.version>
  
      <!-- Test Dependencies -->
      <mockito-all.version>1.8.5</mockito-all.version>