This is an automated email from the ASF dual-hosted git repository. pboado pushed a change to branch 4.14-cdh5.14 in repository https://gitbox.apache.org/repos/asf/phoenix.git.
from 7e43ebb PHOENIX-5056 Ignore failing IT new 0de7307 PHOENIX-4872: BulkLoad has bug when loading on single-cell-array-with-offsets table. new 79ff982 modify index state based on client version to support old clients new 481fd38 PHOENIX-5126 RegionScanner leak leading to store files not getting cleared new 94379b7 PHOENIX-4900 Modify MAX_MUTATION_SIZE_EXCEEDED and MAX_MUTATION_SIZE_BYTES_EXCEEDED exception message to recommend turning autocommit on for deletes new 2302442 PHOENIX-5207 Create index if not exists fails incorrectly if table has 'maxIndexesPerTable' indexes already new e0a8b87 PHOENIX-5122: PHOENIX-4322 breaks client backward compatibility new 523bd30 PHOENIX-5217 Incorrect result for COUNT DISTINCT limit new 5c6955d PHOENIX-5246: PhoenixAccessControllers.getAccessControllers() method is not correctly implementing the double-checked locking new cae2069 PHOENIX-5173: LIKE and ILIKE statements return empty result list for search without wildcard new de1f9b4 PHOENIX-5008: CQSI.init should not bubble up RetriableUpgradeException to client in case of an UpgradeRequiredException new 3be996d PHOENIX-5008 (Addendum): CQSI.init should not bubble up RetriableUpgradeException to client in case of an UpgradeRequiredException new 0aa0a7e PHOENIX-5005 Server-side delete / upsert-select potentially blocked after a split new 2b0d68d PHOENIX-4750 Resolve server customizers and provide them to Avatica new 6d6ccea PHOENIX-4755 Provide an option to plugin custom avatica server config in PQS new bac60e3 PHOENIX-3991 ROW_TIMESTAMP on TIMESTAMP column type throws ArrayOutOfBound when upserting without providing a value. new 151f816 PHOENIX-4834 PhoenixMetricsLog interface methods should not depend on specific logger new adde363 PHOENIX-4835 LoggingPhoenixConnection should log metrics upon connection close new 11ebb0f PHOENIX-4853 Add sql statement to PhoenixMetricsLog interface for query level metrics logging new 685d9a0 PHOENIX-4854 Make LoggingPhoenixResultSet idempotent when logging metrics new 0ccb110 PHOENIX-4864 Fix NullPointerException while Logging some DDL Statements new db087e9 PHOENIX-4870 LoggingPhoenixConnection should log metrics when AutoCommit is set to True. new d1e234f PHOENIX-4989 Include disruptor jar in shaded dependency new 06a94be PHOENIX-4781 Create artifact jar so that shaded jar replaces it properly new 11375b9 PHOENIX-5048 Index Rebuilder does not handle INDEX_STATE timestamp check for all index new 017da22 PHOENIX-5070 NPE when upgrading Phoenix 4.13.0 to Phoenix 4.14.1 with hbase-1.x branch in secure setup new 9f0616a PHOENIX-5111: Null Pointer exception fix in index tool due to outputpath being null when direct option is supplied new 6b15799 PHOENIX-5094 increment pending disable count for index when rebuild starts new 04726ff PHOENIX-4993 close cache connections when region server is going down new 68d956b Add tenantId param to IndexTool new 7681bc1 PHOENIX-5080 Index becomes Active during Partial Index Rebuilder if Index Failure happens new dbc308e PHOENIX-5025 Tool to clean up orphan views new 6dcf219 PHOENIX-5025 Tool to clean up orphan views (addendum) new 88e2ccf PHOENIX-5247 DROP TABLE and DROP VIEW commands fail to drop second or higher level child views new 64437e8 PHOENIX-5137 check region close before commiting a batch for index rebuild new 5a66d58 PHOENIX-4832: Add Canary Test Tool for Phoenix Query Server. new 9f072eb PHOENIX-5172: Harden the PQS canary synth test tool with retry mechanism and more logging new 654bb29 PHOENIX-5188 - IndexedKeyValue should populate KeyValue fields new 7c7ade4 PHOENIX-5124 PropertyPolicyProvider should not evaluate default hbase config properties new 4a32d77 PHOENIX-4822 Ensure the provided timezone is used client-side (Jaanai Zhang) new 51815e6 PHOENIX-4822 Fixed Spelling. new 06b7b9d PHOENIX-5194 Thread Cache is not update for Index retries in for MutationState#send()#doMutation() new 9cb89e2 PHOENIX-5018 Index mutations created by UPSERT SELECT will have wrong timestamps new f7d3019 PHOENIX-5184: HBase and Phoenix connection leaks in Indexing code path, OrphanViewTool and PhoenixConfigurationUtil new 8ba7382 PhoenixResultSet#next() closes the result set if scanner returns null new 01e0e31 PHOENIX-5101 ScanningResultIterator getScanMetrics throws NPE new 736e2e4 PHOENIX-5101 ScanningResultIterator getScanMetrics throws NPE (Addendum) new 1f5bffa Add missing license new 8e636a1 Set version to 4.14.2-cdh5.14 new c18da31 PHOENIX-5195 PHERF:- Handle batch failure in connection.commit() in WriteWorkload#upsertData new 430efa3 PHOENIX-5199 Pherf overrides user provided properties like dataloader threadpool, monitor frequency etc with pherf.properties new bed4892 PHOENIX-5101 ScanningResultIterator getScanMetrics throws NPE new 6831625 PHOENIX-3413 Ineffective null check in LiteralExpression#newConstant() new d82bf9f PHOENIX-5266 Client can only write on Index Table and skip data table if failure happens because of region split/move etc new 69b12c9 PHOENIX-5055 Split mutations batches probably affects correctness of index data new 27ac457 PHOENIX-4296: reverse scan in ChunkedResultIterator new 98b689e PHOENIX-5291 Ensure that Phoenix coprocessor close all scanners. The 56 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: phoenix-assembly/pom.xml | 2 +- phoenix-client/pom.xml | 11 +- phoenix-core/pom.xml | 9 +- .../apache/phoenix/end2end/AppendOnlySchemaIT.java | 2 +- .../apache/phoenix/end2end/BasePermissionsIT.java | 4 +- .../apache/phoenix/end2end/CsvBulkLoadToolIT.java | 51 ++ .../org/apache/phoenix/end2end/DateTimeIT.java | 77 ++ .../apache/phoenix/end2end/DistinctCountIT.java | 28 + .../phoenix/end2end/IndexBuildTimestampIT.java | 246 ++++++ .../org/apache/phoenix/end2end/IndexToolIT.java | 150 +++- .../apache/phoenix/end2end/LikeExpressionIT.java | 24 + .../apache/phoenix/end2end/MutationStateIT.java | 339 +++++++- .../apache/phoenix/end2end/OrphanViewToolIT.java | 479 +++++++++++ .../org/apache/phoenix/end2end/QueryLoggerIT.java | 193 ++--- .../org/apache/phoenix/end2end/QueryMoreIT.java | 6 +- .../org/apache/phoenix/end2end/RowTimestampIT.java | 26 +- .../SystemCatalogCreationOnConnectionIT.java | 120 ++- .../phoenix/end2end/TableDDLPermissionsIT.java | 8 - .../it/java/org/apache/phoenix/end2end/ViewIT.java | 2 +- .../apache/phoenix/end2end/index/BaseIndexIT.java | 39 + .../index/IndexRebuildIncrementDisableCountIT.java | 237 ++++++ .../index/InvalidIndexStateClientSideIT.java | 143 ++++ .../end2end/index/PartialIndexRebuilderIT.java | 66 +- .../phoenix/monitoring/BasePhoenixMetricsIT.java | 128 +++ .../monitoring/PhoenixLoggingMetricsIT.java | 290 +++++++ .../phoenix/monitoring/PhoenixMetricsIT.java | 187 +---- .../org/apache/phoenix/rpc/PhoenixServerRpcIT.java | 6 - .../java/org/apache/phoenix/rpc/UpdateCacheIT.java | 2 +- .../apache/phoenix/compile/ExpressionCompiler.java | 3 - .../phoenix/compile/ServerBuildIndexCompiler.java | 138 ++++ .../apache/phoenix/compile/StatementContext.java | 11 +- .../coprocessor/BaseScannerRegionObserver.java | 9 +- .../phoenix/coprocessor/MetaDataEndpointImpl.java | 61 +- .../coprocessor/MetaDataRegionObserver.java | 58 +- .../coprocessor/PhoenixAccessController.java | 4 +- .../UngroupedAggregateRegionObserver.java | 121 ++- .../apache/phoenix/exception/SQLExceptionCode.java | 8 +- .../org/apache/phoenix/execute/DelegateHTable.java | 20 + .../org/apache/phoenix/execute/MutationState.java | 127 ++- .../phoenix/expression/LiteralExpression.java | 3 +- .../expression/RowValueConstructorExpression.java | 53 +- .../org/apache/phoenix/hbase/index/Indexer.java | 10 +- .../hbase/index/builder/IndexBuildManager.java | 8 + .../hbase/index/covered/data/LocalTable.java | 15 +- .../phoenix/hbase/index/wal/IndexedKeyValue.java | 25 + .../hbase/index/write/RecoveryIndexWriter.java | 10 +- .../org/apache/phoenix/index/IndexMaintainer.java | 433 +++++----- .../phoenix/index/PhoenixIndexFailurePolicy.java | 63 +- .../apache/phoenix/index/PhoenixIndexMetaData.java | 3 +- .../phoenix/iterate/BaseResultIterators.java | 23 +- .../phoenix/iterate/ChunkedResultIterator.java | 13 +- .../phoenix/iterate/ScanningResultIterator.java | 74 +- .../phoenix/jdbc/LoggingPhoenixConnection.java | 50 +- .../jdbc/LoggingPhoenixPreparedStatement.java | 37 +- .../phoenix/jdbc/LoggingPhoenixResultSet.java | 24 +- .../phoenix/jdbc/LoggingPhoenixStatement.java | 49 +- .../org/apache/phoenix/jdbc/PhoenixConnection.java | 15 +- .../apache/phoenix/jdbc/PhoenixEmbeddedDriver.java | 7 +- .../org/apache/phoenix/jdbc/PhoenixMetricsLog.java | 13 +- .../org/apache/phoenix/jdbc/PhoenixResultSet.java | 4 +- .../java/org/apache/phoenix/log/LogWriter.java | 2 +- .../phoenix/mapreduce/AbstractBulkLoadTool.java | 15 +- .../mapreduce/FormatToBytesWritableMapper.java | 10 +- .../apache/phoenix/mapreduce/OrphanViewTool.java | 895 +++++++++++++++++++++ .../phoenix/mapreduce/PhoenixInputFormat.java | 3 +- .../phoenix/mapreduce/PhoenixRecordReader.java | 4 +- .../phoenix/mapreduce/PhoenixRecordWriter.java | 18 +- .../PhoenixServerBuildIndexInputFormat.java | 111 +++ .../mapreduce/index/DirectHTableWriter.java | 14 +- .../mapreduce/index/IndexScrutinyMapper.java | 24 +- .../apache/phoenix/mapreduce/index/IndexTool.java | 305 ++++--- .../index/PhoenixIndexImportDirectMapper.java | 26 +- .../mapreduce/index/PhoenixIndexImportMapper.java | 16 +- .../index/PhoenixIndexPartialBuildMapper.java | 25 +- .../index/PhoenixServerBuildIndexMapper.java | 75 ++ .../mapreduce/util/PhoenixConfigurationUtil.java | 76 +- .../mapreduce/util/PhoenixMapReduceUtil.java | 27 + .../apache/phoenix/parse/DropTableStatement.java | 4 +- .../phoenix/query/ConnectionQueryServicesImpl.java | 4 +- .../org/apache/phoenix/query/QueryServices.java | 4 + .../apache/phoenix/query/QueryServicesOptions.java | 4 + .../org/apache/phoenix/schema/MetaDataClient.java | 16 +- .../org/apache/phoenix/tool/CanaryTestResult.java | 86 ++ .../org/apache/phoenix/tool/PhoenixCanaryTool.java | 425 ++++++++++ .../transaction/TephraTransactionContext.java | 23 +- .../java/org/apache/phoenix/util/DateUtil.java | 22 +- .../java/org/apache/phoenix/util/IndexUtil.java | 30 + .../org/apache/phoenix/util/PropertiesUtil.java | 5 +- .../java/org/apache/phoenix/util/ServerUtil.java | 12 +- .../resources/phoenix-canary-file-sink.properties | 3 +- .../regionserver/wal/IndexedKeyValueTest.java | 67 ++ .../apache/phoenix/compile/QueryCompilerTest.java | 25 + .../apache/phoenix/compile/WhereOptimizerTest.java | 8 +- .../apache/phoenix/execute/MutationStateTest.java | 41 + .../phoenix/iterate/ChunkedResultIteratorTest.java | 73 ++ .../java/org/apache/phoenix/query/BaseTest.java | 185 +++++ .../phoenix/query/PropertyPolicyProviderTest.java | 10 + .../tool/ParameterizedPhoenixCanaryToolIT.java | 280 +++++++ .../apache/phoenix/tool/PhoenixCanaryToolTest.java | 89 ++ .../CoprocessorHConnectionTableFactoryTest.java | 119 +++ .../java/org/apache/phoenix/util/TestUtil.java | 13 + ...yPolicy => phoenix-canary-file-sink.properties} | 5 +- phoenix-flume/pom.xml | 2 +- phoenix-hive/pom.xml | 2 +- phoenix-kafka/pom.xml | 2 +- phoenix-load-balancer/pom.xml | 2 +- phoenix-parcel/pom.xml | 2 +- phoenix-pherf/pom.xml | 2 +- .../main/java/org/apache/phoenix/pherf/Pherf.java | 2 +- .../phoenix/pherf/workload/WriteWorkload.java | 36 +- phoenix-pig/pom.xml | 2 +- phoenix-queryserver-client/pom.xml | 2 +- phoenix-queryserver/pom.xml | 2 +- .../phoenix/end2end/QueryServerTestUtil.java | 187 +++++ .../phoenix/end2end/ServerCustomizersIT.java | 149 ++++ ...java => AvaticaServerConfigurationFactory.java} | 23 +- .../phoenix/queryserver/server/QueryServer.java | 173 ++-- .../server/ServerCustomizersFactory.java | 52 ++ ...a => CustomAvaticaServerConfigurationTest.java} | 22 +- .../server/QueryServerConfigurationTest.java | 26 +- .../queryserver/server/ServerCustomizersTest.java | 92 +++ phoenix-server/pom.xml | 12 +- phoenix-spark/pom.xml | 2 +- .../org/apache/phoenix/spark/PhoenixRDD.scala | 1 + phoenix-tracing-webapp/pom.xml | 2 +- pom.xml | 8 +- 126 files changed, 7249 insertions(+), 1122 deletions(-) create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexBuildTimestampIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/OrphanViewToolIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexRebuildIncrementDisableCountIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/index/InvalidIndexStateClientSideIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/monitoring/BasePhoenixMetricsIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixLoggingMetricsIT.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/compile/ServerBuildIndexCompiler.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/mapreduce/OrphanViewTool.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/mapreduce/PhoenixServerBuildIndexInputFormat.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/mapreduce/index/PhoenixServerBuildIndexMapper.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/tool/CanaryTestResult.java create mode 100644 phoenix-core/src/main/java/org/apache/phoenix/tool/PhoenixCanaryTool.java copy python/phoenixdb/avatica/__init__.py => phoenix-core/src/main/resources/phoenix-canary-file-sink.properties (92%) create mode 100644 phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/IndexedKeyValueTest.java create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/iterate/ChunkedResultIteratorTest.java create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/tool/ParameterizedPhoenixCanaryToolIT.java create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/tool/PhoenixCanaryToolTest.java create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/util/CoprocessorHConnectionTableFactoryTest.java copy phoenix-core/src/test/resources/{META-INF/services/org.apache.phoenix.query.PropertyPolicy => phoenix-canary-file-sink.properties} (88%) create mode 100644 phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerTestUtil.java create mode 100644 phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/ServerCustomizersIT.java copy phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/{RemoteUserExtractorFactory.java => AvaticaServerConfigurationFactory.java} (61%) create mode 100644 phoenix-queryserver/src/main/java/org/apache/phoenix/queryserver/server/ServerCustomizersFactory.java copy phoenix-queryserver/src/test/java/org/apache/phoenix/queryserver/server/{RemoteUserExtractorFactoryTest.java => CustomAvaticaServerConfigurationTest.java} (59%) create mode 100644 phoenix-queryserver/src/test/java/org/apache/phoenix/queryserver/server/ServerCustomizersTest.java