This is an automated email from the ASF dual-hosted git repository.
stoty pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-3 by this push:
new 7f32c733236 HBASE-28726 Revert REST protobuf package to
org.apache.hadoop.hbase.rest (#6408)
7f32c733236 is described below
commit 7f32c733236844cdc51f995d30def4a6264307bd
Author: Istvan Toth <[email protected]>
AuthorDate: Tue Oct 29 07:21:33 2024 +0100
HBASE-28726 Revert REST protobuf package to org.apache.hadoop.hbase.rest
(#6408)
also move REST protobuf definition files a generated classes back to
hbase-rest
Signed-off-by: Duo Zhang <[email protected]>
(cherry picked from commit 7e3652041ef0e572e577dd23922c4d7997c1eb05)
---
hbase-protocol-shaded/pom.xml | 38 ----------------
hbase-rest/pom.xml | 23 ++++++++++
.../apache/hadoop/hbase/rest/model/CellModel.java | 3 +-
.../hadoop/hbase/rest/model/CellSetModel.java | 5 +--
.../hbase/rest/model/NamespacesInstanceModel.java | 3 +-
.../hadoop/hbase/rest/model/NamespacesModel.java | 3 +-
.../hadoop/hbase/rest/model/ScannerModel.java | 3 +-
.../rest/model/StorageClusterStatusModel.java | 3 +-
.../hadoop/hbase/rest/model/TableInfoModel.java | 3 +-
.../hadoop/hbase/rest/model/TableListModel.java | 3 +-
.../hadoop/hbase/rest/model/TableSchemaModel.java | 5 +--
.../hadoop/hbase/rest/model/VersionModel.java | 3 +-
.../src/main/protobuf}/CellMessage.proto | 2 +-
.../src/main/protobuf}/CellSetMessage.proto | 4 +-
.../src/main/protobuf}/ColumnSchemaMessage.proto | 2 +-
.../protobuf}/NamespacePropertiesMessage.proto | 2 +-
.../src/main/protobuf}/NamespacesMessage.proto | 2 +-
.../src/main/protobuf}/ScannerMessage.proto | 2 +-
.../protobuf}/StorageClusterStatusMessage.proto | 2 +-
.../src/main/protobuf}/TableInfoMessage.proto | 2 +-
.../src/main/protobuf}/TableListMessage.proto | 2 +-
.../src/main/protobuf}/TableSchemaMessage.proto | 4 +-
.../src/main/protobuf}/VersionMessage.proto | 2 +-
pom.xml | 50 ++++++++++++++++++++++
24 files changed, 98 insertions(+), 73 deletions(-)
diff --git a/hbase-protocol-shaded/pom.xml b/hbase-protocol-shaded/pom.xml
index fc80e7d41f5..9a71ae42f22 100644
--- a/hbase-protocol-shaded/pom.xml
+++ b/hbase-protocol-shaded/pom.xml
@@ -31,11 +31,6 @@
<description>Shaded protobuf protocol classes used by HBase
internally.</description>
<properties>
<maven.javadoc.skip>true</maven.javadoc.skip>
- <!--
- Version of protobuf that hbase uses internally (we shade our pb) Must
match what is out
- in hbase-thirdparty include.
- -->
- <internal.protobuf.version>4.28.2</internal.protobuf.version>
</properties>
<dependencies>
<!--BE CAREFUL! Any dependency added here needs to be
@@ -105,39 +100,6 @@
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
- <version>1.5.3</version>
- <configuration>
- <basedir>${basedir}/target/generated-sources/</basedir>
- <includes>
- <include>**/*.java</include>
- </includes>
- <!-- Ignore errors when missing files, because it means this build
- was run with -Dprotoc.skip and there is no -Dreplacer.skip -->
- <ignoreErrors>true</ignoreErrors>
- <replacements>
- <replacement>
- <token>([^\.])com.google.protobuf</token>
- <value>$1org.apache.hbase.thirdparty.com.google.protobuf</value>
- </replacement>
- <replacement>
- <token>(public)(\W+static)?(\W+final)?(\W+class)</token>
- <value>@javax.annotation.Generated("proto") $1$2$3$4</value>
- </replacement>
- <!-- replacer doesn't support anchoring or negative lookbehind -->
- <replacement>
- <token>(@javax.annotation.Generated\("proto"\) ){2}</token>
- <value>$1</value>
- </replacement>
- </replacements>
- </configuration>
- <executions>
- <execution>
- <goals>
- <goal>replace</goal>
- </goals>
- <phase>process-sources</phase>
- </execution>
- </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml
index 87b9898a9c4..9b83a93ae76 100644
--- a/hbase-rest/pom.xml
+++ b/hbase-rest/pom.xml
@@ -350,6 +350,29 @@
</systemPropertyVariables>
</configuration>
</plugin>
+ <!-- The protobuf-maven-plugin and com.google.code.maven-replacer-plugin
config
+ is copied directly from hbase-shaded-protocol, and should be kept in
sync. -->
+ <plugin>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>compile-protoc</id>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ <configuration>
+
<protocArtifact>com.google.protobuf:protoc:${internal.protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
+ <checkStaleness>true</checkStaleness>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.google.code.maven-replacer-plugin</groupId>
+ <artifactId>replacer</artifactId>
+ </plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>warbucks-maven-plugin</artifactId>
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellModel.java
index 00475518103..f3d2510c45f 100644
--- a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellModel.java
+++ b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellModel.java
@@ -35,14 +35,13 @@ import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import org.apache.hadoop.hbase.rest.protobuf.generated.CellMessage.Cell;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
-import org.apache.hadoop.hbase.shaded.rest.protobuf.generated.CellMessage.Cell;
-
/**
* Representation of a cell. A cell is a single value associated a column and
optional qualifier,
* and either the timestamp when it was stored or the user- provided timestamp
if one was explicitly
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellSetModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellSetModel.java
index 2a746274254..59e9b79fa3b 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellSetModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/CellSetModel.java
@@ -30,15 +30,14 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import org.apache.hadoop.hbase.rest.protobuf.generated.CellMessage.Cell;
+import org.apache.hadoop.hbase.rest.protobuf.generated.CellSetMessage.CellSet;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
-import org.apache.hadoop.hbase.shaded.rest.protobuf.generated.CellMessage.Cell;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.CellSetMessage.CellSet;
-
/**
* Representation of a grouping of cells. May contain cells from more than one
row. Encapsulates
* RowModel and CellModel models.
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.java
index ee5fed13b57..3bf640934c6 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesInstanceModel.java
@@ -30,13 +30,12 @@ import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.NamespacePropertiesMessage.NamespaceProperties;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.NamespacePropertiesMessage.NamespaceProperties;
-
/**
* List a HBase namespace's key/value properties.
* <ul>
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesModel.java
index e13e5633322..2f565ba8dce 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/NamespacesModel.java
@@ -30,13 +30,12 @@ import org.apache.hadoop.hbase.NamespaceDescriptor;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.NamespacesMessage.Namespaces;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.NamespacesMessage.Namespaces;
-
/**
* A list of HBase namespaces.
* <ul>
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
index 1ccb541c887..89a8e056e4e 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/ScannerModel.java
@@ -69,6 +69,7 @@ import org.apache.hadoop.hbase.filter.ValueFilter;
import org.apache.hadoop.hbase.filter.WhileMatchFilter;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import org.apache.hadoop.hbase.rest.protobuf.generated.ScannerMessage.Scanner;
import org.apache.hadoop.hbase.security.visibility.Authorizations;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
@@ -81,8 +82,6 @@ import
org.apache.hbase.thirdparty.com.google.protobuf.Message;
import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
import org.apache.hbase.thirdparty.javax.ws.rs.core.MediaType;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.ScannerMessage.Scanner;
-
/**
* A representation of Scanner parameters.
*
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java
index ae3671a509f..06e00c90265 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.java
@@ -28,6 +28,7 @@ import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.StorageClusterStatusMessage.StorageClusterStatus;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.yetus.audience.InterfaceAudience;
@@ -35,8 +36,6 @@ import
org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.StorageClusterStatusMessage.StorageClusterStatus;
-
/**
* Representation of the status of a storage cluster:
* <p>
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableInfoModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableInfoModel.java
index 9656f0c8214..cfcc028d62f 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableInfoModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableInfoModel.java
@@ -26,14 +26,13 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.TableInfoMessage.TableInfo;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
import org.apache.hbase.thirdparty.com.google.protobuf.UnsafeByteOperations;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.TableInfoMessage.TableInfo;
-
/**
* Representation of a list of table regions.
*
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableListModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableListModel.java
index 7a3430e03d4..0ee9d6365e7 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableListModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableListModel.java
@@ -25,13 +25,12 @@ import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.TableListMessage.TableList;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.TableListMessage.TableList;
-
/**
* Simple representation of a list of table names.
*/
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableSchemaModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableSchemaModel.java
index 3e28afdfbae..36c8950b10a 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableSchemaModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/TableSchemaModel.java
@@ -40,15 +40,14 @@ import org.apache.hadoop.hbase.client.TableDescriptor;
import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RestUtil;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.ColumnSchemaMessage.ColumnSchema;
+import
org.apache.hadoop.hbase.rest.protobuf.generated.TableSchemaMessage.TableSchema;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.ColumnSchemaMessage.ColumnSchema;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.TableSchemaMessage.TableSchema;
-
/**
* A representation of HBase table descriptors.
*
diff --git
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
index 3ab5e4db6b5..c305d5f4b4d 100644
---
a/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
+++
b/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/model/VersionModel.java
@@ -25,6 +25,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.hbase.rest.ProtobufMessageHandler;
import org.apache.hadoop.hbase.rest.RESTServlet;
import org.apache.hadoop.hbase.rest.RestUtil;
+import org.apache.hadoop.hbase.rest.protobuf.generated.VersionMessage.Version;
import org.apache.hadoop.hbase.util.VersionInfo;
import org.apache.yetus.audience.InterfaceAudience;
@@ -32,8 +33,6 @@ import
org.apache.hbase.thirdparty.com.google.protobuf.CodedInputStream;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
import
org.apache.hbase.thirdparty.org.glassfish.jersey.servlet.ServletContainer;
-import
org.apache.hadoop.hbase.shaded.rest.protobuf.generated.VersionMessage.Version;
-
/**
* A representation of the collection of versions of the REST gateway software
components.
* <ul>
diff --git a/hbase-protocol-shaded/src/main/protobuf/rest/CellMessage.proto
b/hbase-rest/src/main/protobuf/CellMessage.proto
similarity index 93%
rename from hbase-protocol-shaded/src/main/protobuf/rest/CellMessage.proto
rename to hbase-rest/src/main/protobuf/CellMessage.proto
index 75b6f01e5a7..0170be8fe23 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/CellMessage.proto
+++ b/hbase-rest/src/main/protobuf/CellMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message Cell {
optional bytes row = 1; // unused if Cell is in a CellSet
diff --git a/hbase-protocol-shaded/src/main/protobuf/rest/CellSetMessage.proto
b/hbase-rest/src/main/protobuf/CellSetMessage.proto
similarity index 90%
rename from hbase-protocol-shaded/src/main/protobuf/rest/CellSetMessage.proto
rename to hbase-rest/src/main/protobuf/CellSetMessage.proto
index 68a6b05bbe5..b43482c3ce5 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/CellSetMessage.proto
+++ b/hbase-rest/src/main/protobuf/CellSetMessage.proto
@@ -16,9 +16,9 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
-import "rest/CellMessage.proto";
+import "CellMessage.proto";
message CellSet {
message Row {
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/ColumnSchemaMessage.proto
b/hbase-rest/src/main/protobuf/ColumnSchemaMessage.proto
similarity index 94%
rename from
hbase-protocol-shaded/src/main/protobuf/rest/ColumnSchemaMessage.proto
rename to hbase-rest/src/main/protobuf/ColumnSchemaMessage.proto
index 8b5e47956a8..c6c957d82b2 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/ColumnSchemaMessage.proto
+++ b/hbase-rest/src/main/protobuf/ColumnSchemaMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message ColumnSchema {
optional string name = 1;
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/NamespacePropertiesMessage.proto
b/hbase-rest/src/main/protobuf/NamespacePropertiesMessage.proto
similarity index 93%
rename from
hbase-protocol-shaded/src/main/protobuf/rest/NamespacePropertiesMessage.proto
rename to hbase-rest/src/main/protobuf/NamespacePropertiesMessage.proto
index d0a1a4ebc6a..5858aefc39d 100644
---
a/hbase-protocol-shaded/src/main/protobuf/rest/NamespacePropertiesMessage.proto
+++ b/hbase-rest/src/main/protobuf/NamespacePropertiesMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message NamespaceProperties {
message Property {
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/NamespacesMessage.proto
b/hbase-rest/src/main/protobuf/NamespacesMessage.proto
similarity index 93%
rename from hbase-protocol-shaded/src/main/protobuf/rest/NamespacesMessage.proto
rename to hbase-rest/src/main/protobuf/NamespacesMessage.proto
index 229a1f66f71..e4260200828 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/NamespacesMessage.proto
+++ b/hbase-rest/src/main/protobuf/NamespacesMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message Namespaces {
repeated string namespace = 1;
diff --git a/hbase-protocol-shaded/src/main/protobuf/rest/ScannerMessage.proto
b/hbase-rest/src/main/protobuf/ScannerMessage.proto
similarity index 95%
rename from hbase-protocol-shaded/src/main/protobuf/rest/ScannerMessage.proto
rename to hbase-rest/src/main/protobuf/ScannerMessage.proto
index 78aa85b40b8..4ea8566abb5 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/ScannerMessage.proto
+++ b/hbase-rest/src/main/protobuf/ScannerMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message Scanner {
optional bytes startRow = 1;
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/StorageClusterStatusMessage.proto
b/hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto
similarity index 96%
rename from
hbase-protocol-shaded/src/main/protobuf/rest/StorageClusterStatusMessage.proto
rename to hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto
index c39e23956e2..7b9c40cb47d 100644
---
a/hbase-protocol-shaded/src/main/protobuf/rest/StorageClusterStatusMessage.proto
+++ b/hbase-rest/src/main/protobuf/StorageClusterStatusMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message StorageClusterStatus {
message Region {
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/TableInfoMessage.proto
b/hbase-rest/src/main/protobuf/TableInfoMessage.proto
similarity index 94%
rename from hbase-protocol-shaded/src/main/protobuf/rest/TableInfoMessage.proto
rename to hbase-rest/src/main/protobuf/TableInfoMessage.proto
index 344ee1d2976..d0b1121d5e0 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/TableInfoMessage.proto
+++ b/hbase-rest/src/main/protobuf/TableInfoMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message TableInfo {
required string name = 1;
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/TableListMessage.proto
b/hbase-rest/src/main/protobuf/TableListMessage.proto
similarity index 93%
rename from hbase-protocol-shaded/src/main/protobuf/rest/TableListMessage.proto
rename to hbase-rest/src/main/protobuf/TableListMessage.proto
index bf3857e5d68..643994811b0 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/TableListMessage.proto
+++ b/hbase-rest/src/main/protobuf/TableListMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message TableList {
repeated string name = 1;
diff --git
a/hbase-protocol-shaded/src/main/protobuf/rest/TableSchemaMessage.proto
b/hbase-rest/src/main/protobuf/TableSchemaMessage.proto
similarity index 91%
rename from
hbase-protocol-shaded/src/main/protobuf/rest/TableSchemaMessage.proto
rename to hbase-rest/src/main/protobuf/TableSchemaMessage.proto
index 6135716ce02..7a5b2c0df91 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/TableSchemaMessage.proto
+++ b/hbase-rest/src/main/protobuf/TableSchemaMessage.proto
@@ -16,9 +16,9 @@
* limitations under the License.
*/
syntax = "proto2";
-import "rest/ColumnSchemaMessage.proto";
+import "ColumnSchemaMessage.proto";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message TableSchema {
optional string name = 1;
diff --git a/hbase-protocol-shaded/src/main/protobuf/rest/VersionMessage.proto
b/hbase-rest/src/main/protobuf/VersionMessage.proto
similarity index 94%
rename from hbase-protocol-shaded/src/main/protobuf/rest/VersionMessage.proto
rename to hbase-rest/src/main/protobuf/VersionMessage.proto
index 4ce5afe7141..e76dc62a1f4 100644
--- a/hbase-protocol-shaded/src/main/protobuf/rest/VersionMessage.proto
+++ b/hbase-rest/src/main/protobuf/VersionMessage.proto
@@ -16,7 +16,7 @@
* limitations under the License.
*/
syntax = "proto2";
-package org.apache.hadoop.hbase.shaded.rest.protobuf.generated;
+package org.apache.hadoop.hbase.rest.protobuf.generated;
message Version {
optional string restVersion = 1;
diff --git a/pom.xml b/pom.xml
index 3a3fe8d8365..ccc45f5a4ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -848,6 +848,11 @@
<opentelemetry-javaagent.version>1.15.0</opentelemetry-javaagent.version>
<log4j2.version>2.17.2</log4j2.version>
<mockito.version>4.11.0</mockito.version>
+ <!--
+ Version of protobuf that hbase uses internally (we shade our pb) Must
match what is out
+ in hbase-thirdparty include.
+ -->
+ <internal.protobuf.version>4.28.2</internal.protobuf.version>
<protobuf.plugin.version>0.6.1</protobuf.plugin.version>
<thrift.path>thrift</thrift.path>
<thrift.version>0.14.1</thrift.version>
@@ -2159,6 +2164,51 @@
</dependency>
</dependencies>
</plugin>
+ <!--Need this old plugin to replace in generated files instances
+ of com.google.protobuf so instead its o.a.h.h.com.google.protobuf.
+ Plugin is old and in google code archive. Here is usage done by
+ anohther:
https://github.com/beiliubei/maven-replacer-plugin/wiki/Usage-Guide
+ The mess with the regex in the below is to prevent replacement
every time
+ we run mvn install. There is probably a better way of avoiding the
+ double interpolation but this is it for now.
+ -->
+ <plugin>
+ <groupId>com.google.code.maven-replacer-plugin</groupId>
+ <artifactId>replacer</artifactId>
+ <version>1.5.3</version>
+ <configuration>
+ <basedir>${basedir}/target/generated-sources/</basedir>
+ <includes>
+ <include>**/*.java</include>
+ </includes>
+ <!-- Ignore errors when missing files, because it means this build
+ was run with -Dprotoc.skip and there is no -Dreplacer.skip
-->
+ <ignoreErrors>true</ignoreErrors>
+ <replacements>
+ <replacement>
+ <token>([^\.])com.google.protobuf</token>
+
<value>$1org.apache.hbase.thirdparty.com.google.protobuf</value>
+ </replacement>
+ <replacement>
+ <token>(public)(\W+static)?(\W+final)?(\W+class)</token>
+ <value>@javax.annotation.Generated("proto") $1$2$3$4</value>
+ </replacement>
+ <!-- replacer doesn't support anchoring or negative lookbehind
-->
+ <replacement>
+ <token>(@javax.annotation.Generated\("proto"\) ){2}</token>
+ <value>$1</value>
+ </replacement>
+ </replacements>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>replace</goal>
+ </goals>
+ <phase>process-sources</phase>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>net.revelc.code</groupId>
<artifactId>warbucks-maven-plugin</artifactId>