This is an automated email from the ASF dual-hosted git repository. apurtell pushed a change to branch PHOENIX-7562-feature in repository https://gitbox.apache.org/repos/asf/phoenix.git
from 27f732be33 PHOENIX-7565 Replication log file, and replication log file writer and reader classes (#2133) new c5e115a26f PHOENIX-7441 Integrate the Spotless plugin and update the code template - Update dev/PhoenixCodeTemplate.xml to use latest format as in hbase. - Copied license-header file from hbase, the one which phoenix was using was a little different - Fix file having misplaced package block as we do not want any manual code change in the commit where we run spotless new 27f812d04c PHOENIX-7576 Update Jetty to 9.4.57.v20241219 (#2110) new 45495ef877 PHOENIX-7580: ADDENDUM to fix compatibility with HBase 2.4 build new 55fc359df1 PHOENIX-7574 Addendum to check loop variable increments against the loop condition (#2127) new a5ea118942 PHOENIX-7107 Add support for indexing on SYSTEM.CATALOG table (#2048) new c61bfe5ad0 PHOENIX-7587: Revert configuring Table level MaxLookBack in syscat (#2125) new d911fc05ad PHOENIX-7478 HBase 3 compatibility changes: Replace ClusterConnection with Connection API (#2123) new d1a8bd0ac3 PHOENIX-7588 : SUBBINARY() - Substring like function for Binary data types (#2126) new b3b6c65455 PHOENIX-7495 :- ADDENDUM to fix tests with HBase 2.4 build (#2132) new f83a8ee138 PHOENIX-7586 :- Handle Role transitions for ActiveToStanby role in Failover HAPolicy (#2128) new 999bdb19fb PHOENIX-7495 :- ADDENDUM to fix ITs with HBase 2.4 build involving RPC Registry (#2137) new 098c7928d4 PHOENIX-7517 Allow BSON as primary key column (#2141) new 7bad6941d5 PHOENIX-7604 Log exceptions in GlobalClientMetrics static initializer (#2142) new d16765ab84 PHOENIX-7534 ConnectionIT.testRPCConnections is very flakey (#2145) new 9d55500fe2 PHOENIX-7608 : Partial index creation fails when creating it on a table with case sensitive table name (#2146) new bd2e226afe PHOENIX-7605 Adding ability to configure threadpool at CQSI level (#2138) new 79df024ab8 PHOENIX-7107 (ADDENDUM) Fixes RowKeyMatcherIT tests silently failing (#2147) new f3f5a644a2 PHOENIX-7605 Addendum Fixing IT where table was used after t.close(), passing pool to hbase client based on value. (#2152) new 1a9709b573 PHOENIX-7609 : CDC creation fails when data table has case sensitive name (#2149) new fb343feca6 PHOENIX-7605 (Addendum) Fixing unit test mocking (#2155) new a90f0fcf2c PHOENIX-7614 : Fix atmoic update return result with case sensitive table name (#2157) new b48685915e PHOENIX-7610 Using CAST() on pk columns always result in full table scan (#2150) new 8e42694f41 PHOENIX-7605 (ADDENDUM 2) Fix hbase 2.4 build (#2158) new fe3c170a0b PHOENIX-7599: Fix count of rows scanned metric for uncovered indexes (#2139) new 5a75f48382 PHOENIX-7617 BSON serialization should retain ByteBuffer offset (#2162) new e488c9189e PHOENIX-7616 NPE when there are Conditional expressions on indexed columns new 87678fb5d0 PHOENIX-7615: Fix NPE in handling NULL value (#2160) new cbd17b08d7 PHOENIX-7618 Missing jul-to-slf4j.jar in the lib folder of the assembled tar file (#2164) new e7b3035358 PHOENIX-7573 Backward Compatibility Issues in Phoenix TTL (#2130) new 0bc63eaf3f PHOENIX-7591 Concurrent updates to tables with indexes can cause data inconsistency The 30 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: .gitignore | 3 + dev/PhoenixCodeTemplate.xml | 724 ++++++++------- dev/phoenix.importorder | 11 +- phoenix-assembly/pom.xml | 5 +- .../phoenix/compile/CreateIndexCompiler.java | 43 +- .../org/apache/phoenix/compile/QueryCompiler.java | 27 +- .../phoenix/compile/ServerBuildIndexCompiler.java | 1 - .../ServerBuildTransformingTableCompiler.java | 1 - .../BaseScannerRegionObserverConstants.java | 2 - .../coprocessorclient/MetaDataProtocol.java | 3 +- .../apache/phoenix/exception/SQLExceptionCode.java | 5 +- .../phoenix/expression/CoerceExpression.java | 12 + .../apache/phoenix/expression/ExpressionType.java | 5 +- .../function/DecodeViewIndexIdFunction.java | 183 ++++ ...{SubstrFunction.java => SubBinaryFunction.java} | 156 ++-- .../hbase/index/util/IndexManagementUtil.java | 2 +- .../phoenix/jdbc/AbstractRPCConnectionInfo.java | 2 +- .../phoenix/jdbc/HighAvailabilityPolicy.java | 32 +- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 7 +- .../phoenix/jdbc/PhoenixParameterMetaData.java | 4 +- .../org/apache/phoenix/jdbc/RPCConnectionInfo.java | 3 +- .../phoenix/monitoring/GlobalClientMetrics.java | 15 +- .../apache/phoenix/optimize/QueryOptimizer.java | 2 +- .../apache/phoenix/parse/CreateTableStatement.java | 10 +- .../phoenix/parse/DecodeViewIndexIdParseNode.java | 79 ++ .../phoenix/query/ConnectionQueryServicesImpl.java | 222 +++-- .../apache/phoenix/query/HConnectionFactory.java | 19 + .../org/apache/phoenix/query/HTableFactory.java | 17 +- .../org/apache/phoenix/query/QueryConstants.java | 2 - .../org/apache/phoenix/query/QueryServices.java | 16 +- .../apache/phoenix/query/QueryServicesOptions.java | 29 +- .../schema/CompiledConditionalTTLExpression.java | 2 +- .../org/apache/phoenix/schema/DelegateTable.java | 6 - .../phoenix/schema/LiteralTTLExpression.java | 4 +- .../org/apache/phoenix/schema/MetaDataClient.java | 176 ++-- .../java/org/apache/phoenix/schema/PTable.java | 5 - .../java/org/apache/phoenix/schema/PTableImpl.java | 31 +- .../org/apache/phoenix/schema/TableProperty.java | 24 - .../schema/tool/SchemaExtractionProcessor.java | 14 +- .../phoenix/schema/transform/TransformClient.java | 1 - .../org/apache/phoenix/schema/types/PBson.java | 17 +- .../org/apache/phoenix/schema/types/PVarchar.java | 2 +- .../java/org/apache/phoenix/util/ByteUtil.java | 16 + .../main/java/org/apache/phoenix/util/CDCUtil.java | 2 +- .../java/org/apache/phoenix/util/ColumnInfo.java | 3 +- .../java/org/apache/phoenix/util/MetaDataUtil.java | 72 +- .../java/org/apache/phoenix/util/ScanUtil.java | 43 +- .../java/org/apache/phoenix/util/SchemaUtil.java | 10 +- .../java/org/apache/phoenix/util/TupleUtil.java | 2 +- .../java/org/apache/phoenix/util/UpgradeUtil.java | 102 ++- .../java/org/apache/phoenix/util/ViewUtil.java | 1 + .../apache/phoenix/util/json/BsonDataFormat.java | 5 +- phoenix-core-client/src/main/protobuf/PTable.proto | 7 +- .../coprocessor/BaseScannerRegionObserver.java | 65 +- .../phoenix/coprocessor/CompactionScanner.java | 66 +- .../phoenix/coprocessor/DelegateRegionScanner.java | 3 +- .../coprocessor/GlobalIndexRegionScanner.java | 3 +- .../phoenix/coprocessor/MetaDataEndpointImpl.java | 291 +++--- .../coprocessor/MetaDataRegionObserver.java | 44 +- .../phoenix/coprocessor/TTLRegionScanner.java | 31 +- .../phoenix/coprocessor/TaskRegionObserver.java | 2 + .../coprocessor/UncoveredIndexRegionScanner.java | 24 +- .../UncoveredLocalIndexRegionScanner.java | 13 +- .../UngroupedAggregateRegionObserver.java | 10 +- .../phoenix/hbase/index/IndexRegionObserver.java | 16 +- .../PhoenixServerBuildIndexInputFormat.java | 1 - .../mapreduce/index/IndexScrutinyMapper.java | 16 +- .../phoenix/mapreduce/index/IndexScrutinyTool.java | 37 +- .../mapreduce/util/PhoenixConfigurationUtil.java | 14 - .../wal/WALRecoveryRegionPostOpenIT.java | 3 +- .../apache/phoenix/end2end/AggregateQueryIT.java | 3 +- .../end2end/AggregateQueryWithRegionMovesIT.java | 3 +- .../org/apache/phoenix/end2end/AlterTableIT.java | 104 +-- .../phoenix/end2end/BaseRowKeyMatcherTestIT.java | 69 +- .../java/org/apache/phoenix/end2end/Bson4IT.java | 146 ++- .../apache/phoenix/end2end/CDCDefinitionIT.java | 40 + .../org/apache/phoenix/end2end/CDCQueryIT.java | 92 +- .../apache/phoenix/end2end/CastAndCoerceIT.java | 45 +- .../org/apache/phoenix/end2end/ConnectionIT.java | 6 + .../org/apache/phoenix/end2end/CreateTableIT.java | 103 +-- .../phoenix/end2end/FlappingAlterTableIT.java | 14 +- .../end2end/IndexRepairRegionScannerIT.java | 110 +-- .../phoenix/end2end/IndexScrutinyToolBaseIT.java | 7 +- .../end2end/IndexScrutinyWithMaxLookbackIT.java | 118 +-- .../end2end/IndexToolForNonTxGlobalIndexIT.java | 59 -- .../org/apache/phoenix/end2end/IndexToolIT.java | 128 +-- .../LongViewIndexDisabledBaseRowKeyMatcherIT.java | 27 +- .../LongViewIndexEnabledBaseRowKeyMatcherIT.java | 28 +- .../phoenix/end2end/MappingTableDataTypeIT.java | 11 +- .../phoenix/end2end/MaxLookbackExtendedIT.java | 103 +-- .../org/apache/phoenix/end2end/MaxLookbackIT.java | 259 +----- .../phoenix/end2end/MoveTTLDuringUpgradeIT.java | 86 +- .../apache/phoenix/end2end/PropertiesInSyncIT.java | 8 +- .../org/apache/phoenix/end2end/SetPropertyIT.java | 40 +- .../phoenix/end2end/SubBinaryFunctionIT.java | 377 ++++++++ .../apache/phoenix/end2end/TTLAsPhoenixTTLIT.java | 102 ++- .../it/java/org/apache/phoenix/end2end/TTLIT.java | 60 +- .../org/apache/phoenix/end2end/TableTTLIT.java | 50 +- .../TestUpsertBindNullParamToCaseExprIT.java | 282 ++++++ .../it/java/org/apache/phoenix/end2end/ViewIT.java | 85 -- .../org/apache/phoenix/end2end/ViewMetadataIT.java | 34 - .../java/org/apache/phoenix/end2end/ViewTTLIT.java | 3 +- .../end2end/ViewTTLWithLongViewIndexEnabledIT.java | 2 +- .../phoenix/end2end/index/IndexMetadataIT.java | 24 - .../index/IndexVerificationOutputRepositoryIT.java | 2 +- .../index/IndexVerificationResultRepositoryIT.java | 2 +- .../phoenix/end2end/index/PartialIndexIT.java | 29 +- .../end2end/index/PartialSystemCatalogIndexIT.java | 987 +++++++++++++++++++++ .../phoenix/end2end/index/SingleCellIndexIT.java | 2 + .../SaltedTableWithParallelStatsEnabledIT.java | 4 +- .../phoenix/end2end/transform/TransformToolIT.java | 149 +--- .../TestTrackingParallelWriterIndexCommitter.java | 117 +++ .../phoenix/jdbc/FailoverPhoenixConnection2IT.java | 114 +++ .../phoenix/jdbc/FailoverPhoenixConnectionIT.java | 31 + .../HAConnectionWithMasterAndRPCRegistryIT.java | 7 + .../jdbc/HighAvailabilityTestingUtility.java | 5 + .../jdbc/HighAvailabilityTestingUtilityIT.java | 6 + .../phoenix/jdbc/ParallelPhoenixConnectionIT.java | 58 ++ .../jdbc/ParallelPhoenixConnectionWorkflowIT.java | 5 + .../phoenix/monitoring/CountRowsScannedIT.java | 20 + .../ConnectionQueryServicesImplThreadPoolIT.java | 286 ++++++ .../phoenix/schema/ConditionalTTLExpressionIT.java | 140 ++- .../apache/phoenix/jdbc/ClusterRoleRecordTest.java | 10 + .../phoenix/jdbc/PhoenixEmbeddedDriverTest.java | 3 +- .../org/apache/phoenix/jdbc/PhoenixTestDriver.java | 128 ++- .../parse/DecodeViewIndexIdFunctionTest.java | 59 ++ .../java/org/apache/phoenix/query/BaseTest.java | 52 +- .../query/ConnectionQueryServicesImplTest.java | 53 +- .../apache/phoenix/schema/TTLExpressionTest.java | 9 +- .../apache/phoenix/schema/types/PDataTypeTest.java | 2 +- .../org/apache/phoenix/util/IndexUtilTest.java | 2 + .../java/org/apache/phoenix/util/TestUtil.java | 69 +- pom.xml | 116 ++- src/main/config/checkstyle/header.txt | 17 +- 134 files changed, 5348 insertions(+), 2590 deletions(-) create mode 100644 phoenix-core-client/src/main/java/org/apache/phoenix/expression/function/DecodeViewIndexIdFunction.java copy phoenix-core-client/src/main/java/org/apache/phoenix/expression/function/{SubstrFunction.java => SubBinaryFunction.java} (63%) create mode 100644 phoenix-core-client/src/main/java/org/apache/phoenix/parse/DecodeViewIndexIdParseNode.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/SubBinaryFunctionIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/TestUpsertBindNullParamToCaseExprIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PartialSystemCatalogIndexIT.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/hbase/index/write/TestTrackingParallelWriterIndexCommitter.java create mode 100644 phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionQueryServicesImplThreadPoolIT.java create mode 100644 phoenix-core/src/test/java/org/apache/phoenix/parse/DecodeViewIndexIdFunctionTest.java