This is an automated email from the ASF dual-hosted git repository. stoty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/master by this push: new bd56d7ceea PHOENIX-7218 Drop HBase 2.4.0 support in 5.2 bd56d7ceea is described below commit bd56d7ceea2e57c9c2cefe94515a2cebe2d710cd Author: Istvan Toth <st...@apache.org> AuthorDate: Fri Feb 16 09:22:21 2024 +0100 PHOENIX-7218 Drop HBase 2.4.0 support in 5.2 --- phoenix-assembly/pom.xml | 5 - phoenix-core-client/pom.xml | 5 +- phoenix-hbase-compat-2.4.0/pom.xml | 113 --------------------- .../phoenix/compat/hbase/CompatDelegateHTable.java | 38 ------- .../compat/hbase/CompatOmidTransactionTable.java | 44 -------- .../compat/hbase/CompatPhoenixRpcScheduler.java | 39 ------- .../apache/phoenix/compat/hbase/CompatUtil.java | 80 --------------- .../compat/hbase/HbaseCompatCapabilities.java | 24 ----- .../hbase/ReplicationSinkCompatEndpoint.java | 37 ------- pom.xml | 44 +------- 10 files changed, 2 insertions(+), 427 deletions(-) diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml index 2d941765f1..b271c8a0a0 100644 --- a/phoenix-assembly/pom.xml +++ b/phoenix-assembly/pom.xml @@ -261,11 +261,6 @@ <artifactId>phoenix-tracing-webapp</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix-hbase-compat-2.4.0</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-hbase-compat-2.4.1</artifactId> diff --git a/phoenix-core-client/pom.xml b/phoenix-core-client/pom.xml index ba02beaa33..983c082813 100644 --- a/phoenix-core-client/pom.xml +++ b/phoenix-core-client/pom.xml @@ -57,10 +57,7 @@ hbasePatch = Integer.parseInt(versionMatcher.group(3)); hbaseMajor == 2 && ( - ("${hbase.compat.version}".equals("2.4.0") - && hbaseMinor == 4 - && hbasePatch == 0) - || ("${hbase.compat.version}".equals("2.4.1") + ("${hbase.compat.version}".equals("2.4.1") && hbaseMinor == 4 && hbasePatch >=1) || ("${hbase.compat.version}".equals("2.5.0") diff --git a/phoenix-hbase-compat-2.4.0/pom.xml b/phoenix-hbase-compat-2.4.0/pom.xml deleted file mode 100644 index fd1074dd79..0000000000 --- a/phoenix-hbase-compat-2.4.0/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<project - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation= - "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix</artifactId> - <version>5.2.0-SNAPSHOT</version> - </parent> - - <artifactId>phoenix-hbase-compat-2.4.0</artifactId> - <name>Phoenix Hbase 2.4.0 compatibility</name> - <description>Compatibility module for HBase 2.4.0</description> - - <properties> - <hbase24.compat.version>2.4.0</hbase24.compat.version> - </properties> - - <dependencies> - <!-- HBase dependencies --> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-client</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-common</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-server</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <!-- Override parent dependencyManagement for transitive HBase dependencies --> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-hadoop-compat</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-hadoop2-compat</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-protocol</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-protocol-shaded</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-zookeeper</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-metrics</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.hbase</groupId> - <artifactId>hbase-metrics-api</artifactId> - <version>${hbase24.compat.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - <version>${slf4j.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - -</project> diff --git a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateHTable.java b/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateHTable.java deleted file mode 100644 index b6e360cba4..0000000000 --- a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatDelegateHTable.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.phoenix.compat.hbase; - -import java.io.IOException; - -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.RowMutations; -import org.apache.hadoop.hbase.client.Table; - -public abstract class CompatDelegateHTable implements Table { - - protected final Table delegate; - - public CompatDelegateHTable(Table delegate) { - this.delegate = delegate; - } - - @Override - public Result mutateRow(RowMutations rm) throws IOException { - return delegate.mutateRow(rm); - } -} diff --git a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatOmidTransactionTable.java b/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatOmidTransactionTable.java deleted file mode 100644 index b2997a86a1..0000000000 --- a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatOmidTransactionTable.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.phoenix.compat.hbase; - -import java.io.IOException; - -import org.apache.hadoop.hbase.HTableDescriptor; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.RowMutations; -import org.apache.hadoop.hbase.client.Table; - -public abstract class CompatOmidTransactionTable implements Table { - - protected Table hTable; - - public CompatOmidTransactionTable(Table hTable) { - this.hTable = hTable; - } - - @Override - public HTableDescriptor getTableDescriptor() throws IOException { - return hTable.getTableDescriptor(); - } - - @Override - public Result mutateRow(RowMutations rm) throws IOException { - throw new UnsupportedOperationException(); - } -} diff --git a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPhoenixRpcScheduler.java b/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPhoenixRpcScheduler.java deleted file mode 100644 index c84af2a70b..0000000000 --- a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatPhoenixRpcScheduler.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.phoenix.compat.hbase; - -import java.io.IOException; - -import org.apache.hadoop.hbase.ipc.CallRunner; -import org.apache.hadoop.hbase.ipc.RpcScheduler; - -/** - * {@link RpcScheduler} that first checks to see if this is an index or metadata update before - * passing off the call to the delegate {@link RpcScheduler}. - */ -public abstract class CompatPhoenixRpcScheduler extends RpcScheduler { - protected RpcScheduler delegate; - - @Override - public boolean dispatch(CallRunner task) throws IOException, InterruptedException { - return compatDispatch(task); - } - - public abstract boolean compatDispatch(CallRunner task) - throws IOException, InterruptedException; -} diff --git a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatUtil.java b/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatUtil.java deleted file mode 100644 index 678ae1c138..0000000000 --- a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/CompatUtil.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.phoenix.compat.hbase; - -import java.io.IOException; -import java.util.List; - -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.CellComparator; -import org.apache.hadoop.hbase.MetaTableAccessor; -import org.apache.hadoop.hbase.TableName; -import org.apache.hadoop.hbase.client.Connection; -import org.apache.hadoop.hbase.client.RegionInfo; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; -import org.apache.hadoop.hbase.io.compress.Compression.Algorithm; -import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding; -import org.apache.hadoop.hbase.io.hfile.HFileContext; -import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder; -import org.apache.hadoop.hbase.regionserver.HStore; -import org.apache.hadoop.hbase.util.ChecksumType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class CompatUtil { - - private static final Logger LOGGER = LoggerFactory.getLogger( - CompatUtil.class); - - private CompatUtil() { - //Not to be instantiated - } - - public static HFileContext createHFileContext(Configuration conf, Algorithm compression, - Integer blockSize, DataBlockEncoding encoding, CellComparator comparator) { - - return new HFileContextBuilder() - .withCompression(compression) - .withChecksumType(HStore.getChecksumType(conf)) - .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf)) - .withBlockSize(blockSize) - .withDataBlockEncoding(encoding) - .build(); - } - - public static List<RegionInfo> getMergeRegions(Connection conn, RegionInfo regionInfo) - throws IOException { - return MetaTableAccessor.getMergeRegions(conn, regionInfo.getRegionName()); - } - - public static ChecksumType getChecksumType(Configuration conf) { - return HStore.getChecksumType(conf); - } - - public static int getBytesPerChecksum(Configuration conf) { - return HStore.getBytesPerChecksum(conf); - } - - public static Connection createShortCircuitConnection(final Configuration configuration, - final RegionCoprocessorEnvironment env) throws IOException { - //Short Circuit connections are broken before 2.4.12 - return org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(configuration); - } -} diff --git a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java b/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java deleted file mode 100644 index 9fc812c655..0000000000 --- a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/HbaseCompatCapabilities.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.phoenix.compat.hbase; - -public class HbaseCompatCapabilities { - // Currently every supported HBase version has the same capabilities, so there is - // nothing in here. -} diff --git a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/ReplicationSinkCompatEndpoint.java b/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/ReplicationSinkCompatEndpoint.java deleted file mode 100644 index 0ce442f2b9..0000000000 --- a/phoenix-hbase-compat-2.4.0/src/main/java/org/apache/phoenix/compat/hbase/ReplicationSinkCompatEndpoint.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.phoenix.compat.hbase; - -import org.apache.hadoop.hbase.coprocessor.RegionServerCoprocessor; -import org.apache.hadoop.hbase.coprocessor.RegionServerObserver; - -import java.util.Optional; - -/** - * No-op replication sink compat endpoint. - */ -public class ReplicationSinkCompatEndpoint - implements RegionServerCoprocessor, RegionServerObserver { - - @Override - public Optional<RegionServerObserver> getRegionServerObserver() { - return Optional.of(this); - } - -} diff --git a/pom.xml b/pom.xml index 6ab78a425b..14ca1a98d0 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,6 @@ <module>phoenix-hbase-compat-2.5.4</module> <module>phoenix-hbase-compat-2.5.0</module> <module>phoenix-hbase-compat-2.4.1</module> - <module>phoenix-hbase-compat-2.4.0</module> <module>phoenix-core-client</module> <module>phoenix-core-server</module> <module>phoenix-core</module> @@ -81,9 +80,8 @@ <hbase.suffix>hbase-${hbase.profile}</hbase.suffix> <!-- This is used by the release script only --> - <hbase.profile.list>2.4.0 2.4 2.5.0 2.5</hbase.profile.list> + <hbase.profile.list>2.4 2.5.0 2.5</hbase.profile.list> <!-- The default hbase versions to build with (override with hbase.version) --> - <hbase-2.4.0.runtime.version>2.4.0</hbase-2.4.0.runtime.version> <hbase-2.4.runtime.version>2.4.17</hbase-2.4.runtime.version> <hbase-2.5.0.runtime.version>2.5.3-hadoop3</hbase-2.5.0.runtime.version> <hbase-2.5.runtime.version>2.5.7-hadoop3</hbase-2.5.runtime.version> @@ -703,11 +701,6 @@ <artifactId>phoenix-core</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix-client-embedded-hbase-2.4.0</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-client-embedded-hbase-2.4</artifactId> @@ -723,11 +716,6 @@ <artifactId>phoenix-client-embedded-hbase-2.5</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix-client-lite-hbase-2.4.0</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-client-lite-hbase-2.4</artifactId> @@ -743,11 +731,6 @@ <artifactId>phoenix-client-lite-hbase-2.5</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix-server-hbase-2.4.0</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-server-hbase-2.4</artifactId> @@ -763,11 +746,6 @@ <artifactId>phoenix-server-hbase-2.5</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix-mapreduce-byo-shaded-hbase-hbase-2.4.0</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-mapreduce-byo-shaded-hbase-hbase-2.4</artifactId> @@ -798,11 +776,6 @@ <artifactId>phoenix-shaded-guava</artifactId> <version>${phoenix.thirdparty.version}</version> </dependency> - <dependency> - <groupId>org.apache.phoenix</groupId> - <artifactId>phoenix-hbase-compat-2.4.0</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-hbase-compat-2.4.1</artifactId> @@ -1804,21 +1777,6 @@ <hbase.version>${hbase-2.4.runtime.version}</hbase.version> </properties> </profile> - <profile> - <!-- PHOENIX-5993 This won't work with the public HBase artifacts --> - <id>phoenix-hbase-compat-2.4.0</id> - <activation> - <property> - <name>hbase.profile</name> - <value>2.4.0</value> - </property> - </activation> - <properties> - <hbase.profile>2.4.0</hbase.profile> - <hbase.compat.version>2.4.0</hbase.compat.version> - <hbase.version>${hbase-2.4.0.runtime.version}</hbase.version> - </properties> - </profile> <profile> <!-- PHOENIX-5993 This won't work with the public HBase artifacts --> <id>phoenix-hbase-compat-2.4.1</id>