This is an automated email from the ASF dual-hosted git repository.
elek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 7f6f813 HDDS-3621. Separate client/server/admin proto files of HDDS
to separated subprojects (#949)
7f6f813 is described below
commit 7f6f81398518726afe2f67daa3f2a9e9efd3d8ff
Author: Elek, Márton <[email protected]>
AuthorDate: Fri Jun 5 10:12:46 2020 +0200
HDDS-3621. Separate client/server/admin proto files of HDDS to separated
subprojects (#949)
---
.../common/dev-support/findbugsExcludeFile.xml | 3 -
hadoop-hdds/common/pom.xml | 84 +-
.../dev-support/findbugsExcludeFile.xml | 3 -
hadoop-hdds/container-service/pom.xml | 30 -
.../states/endpoint/HeartbeatEndpointTask.java | 5 +-
hadoop-hdds/framework/pom.xml | 8 +
.../freon/FakeScmBlockLocationProtocolClient.java | 0
.../FakeScmContainerLocationProtocolClient.java | 0
.../org/apache/hadoop/hdds/freon/package-info.java | 24 +
.../common/helpers/DeleteBlockResult.java | 0
.../scm/container/common/helpers/package-info.java | 22 +
.../scm/protocol/ScmBlockLocationProtocol.java | 0
.../hadoop/hdds/scm/protocol/package-info.java | 19 +
...lockLocationProtocolClientSideTranslatorPB.java | 0
.../scm/protocolPB/ScmBlockLocationProtocolPB.java | 0
...inerLocationProtocolClientSideTranslatorPB.java | 0
.../StorageContainerLocationProtocolPB.java | 0
.../hadoop/hdds/scm/protocolPB/package-info.java} | 21 +-
.../org/apache/hadoop/ozone/common/BlockGroup.java | 0
.../ozone/common/DeleteBlockGroupResult.java | 0
.../apache/hadoop/ozone/common/package-info.java | 18 +
.../exceptions/TestSCMExceptionResultCodes.java | 0
.../dev-support/findbugsExcludeFile.xml | 3 +-
hadoop-hdds/interface-admin/pom.xml | 82 +
.../src/main/proto/ScmAdminProtocol.proto} | 0
.../interface-admin/src/main/proto/proto.lock | 895 ++++++++++
.../dev-support/findbugsExcludeFile.xml | 6 +-
hadoop-hdds/interface-client/pom.xml | 135 ++
.../src/main/proto/DatanodeClientProtocol.proto} | 0
.../src/main/proto/hdds.proto | 0
.../src/main/proto/proto.lock | 1748 +-------------------
.../dev-support/findbugsExcludeFile.xml | 3 +-
hadoop-hdds/interface-server/pom.xml | 82 +
.../ScmServerDatanodeHeartbeatProtocol.proto} | 0
.../src/main/proto/ScmServerProtocol.proto} | 0
.../main/proto/ScmServerSecurityProtocol.proto} | 0
.../src/main/proto/proto.lock | 714 +++++++-
hadoop-hdds/pom.xml | 21 +
.../common/dev-support/findbugsExcludeFile.xml | 3 +
hadoop-ozone/common/pom.xml | 7 +-
.../common/src/main/proto/Security.proto | 0
hadoop-ozone/common/src/main/proto/proto.lock | 143 ++
hadoop-ozone/ozone-manager/pom.xml | 6 +
hadoop-ozone/pom.xml | 5 +
44 files changed, 2193 insertions(+), 1897 deletions(-)
diff --git a/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
b/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
index 4441b69..78da070 100644
--- a/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdds/common/dev-support/findbugsExcludeFile.xml
@@ -19,9 +19,6 @@
<Package name="org.apache.hadoop.hdds.protocol.proto"/>
</Match>
<Match>
- <Package name="org.apache.hadoop.hdds.protocol.datanode.proto"/>
- </Match>
- <Match>
<Class name="org.apache.hadoop.hdds.cli.GenericCli"></Class>
<Bug pattern="DM_EXIT" />
</Match>
diff --git a/hadoop-hdds/common/pom.xml b/hadoop-hdds/common/pom.xml
index 4aba1ab..1f0b3e6 100644
--- a/hadoop-hdds/common/pom.xml
+++ b/hadoop-hdds/common/pom.xml
@@ -179,8 +179,10 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
-
-
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ </dependency>
</dependencies>
<build>
@@ -209,84 +211,6 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
</extensions>
<plugins>
<plugin>
- <groupId>com.salesforce.servicelibs</groupId>
- <artifactId>proto-backwards-compatibility</artifactId>
- </plugin>
- <plugin>
- <groupId>org.xolstice.maven.plugins</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <version>${protobuf-maven-plugin.version}</version>
- <extensions>true</extensions>
- <executions>
- <execution>
- <id>compile-protoc-3</id>
- <goals>
- <goal>compile</goal>
- <goal>test-compile</goal>
- <goal>compile-custom</goal>
- <goal>test-compile-custom</goal>
- </goals>
- <configuration>
- <protocArtifact>
-
com.google.protobuf:protoc:${protobuf-compile.version}:exe:${os.detected.classifier}
- </protocArtifact>
- <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
- <includes>
- <include>DatanodeContainerProtocol.proto</include>
- </includes>
- <outputDirectory>target/generated-sources/java</outputDirectory>
- <clearOutputDirectory>false</clearOutputDirectory>
- <pluginId>grpc-java</pluginId>
- <pluginArtifact>
-
io.grpc:protoc-gen-grpc-java:${grpc-compile.version}:exe:${os.detected.classifier}
- </pluginArtifact>
- </configuration>
- </execution>
- <execution>
- <id>compile-protoc-2</id>
- <goals>
- <goal>compile</goal>
- <goal>test-compile</goal>
- </goals>
- <configuration>
- <protocArtifact>
-
com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
- </protocArtifact>
- <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
- <includes>
- <include>StorageContainerLocationProtocol.proto</include>
- <include>hdds.proto</include>
- <include>ScmBlockLocationProtocol.proto</include>
- <include>SCMSecurityProtocol.proto</include>
- </includes>
- <outputDirectory>target/generated-sources/java</outputDirectory>
- <clearOutputDirectory>false</clearOutputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <configuration>
- <tasks>
- <replace token="com.google.protobuf"
value="org.apache.ratis.thirdparty.com.google.protobuf"
-
dir="target/generated-sources/java/org/apache/hadoop/hdds/protocol/datanode/proto">
- </replace>
- <replace token="io.grpc"
value="org.apache.ratis.thirdparty.io.grpc"
-
dir="target/generated-sources/java/org/apache/hadoop/hdds/protocol/datanode/proto">
- </replace>
- </tasks>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-maven-plugins</artifactId>
<executions>
diff --git a/hadoop-hdds/container-service/dev-support/findbugsExcludeFile.xml
b/hadoop-hdds/container-service/dev-support/findbugsExcludeFile.xml
index 18128e8..3359383 100644
--- a/hadoop-hdds/container-service/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdds/container-service/dev-support/findbugsExcludeFile.xml
@@ -16,9 +16,6 @@
-->
<FindBugsFilter>
<Match>
- <Package name="org.apache.hadoop.hdds.protocol.proto"/>
- </Match>
- <Match>
<Class
name="org.apache.hadoop.ozone.container.common.volume.AbstractFuture" />
<Bug pattern="DLS_DEAD_STORE_OF_CLASS_LITERAL" />
</Match>
diff --git a/hadoop-hdds/container-service/pom.xml
b/hadoop-hdds/container-service/pom.xml
index c948db5..d10d2a3 100644
--- a/hadoop-hdds/container-service/pom.xml
+++ b/hadoop-hdds/container-service/pom.xml
@@ -101,36 +101,6 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<build>
<plugins>
<plugin>
- <groupId>com.salesforce.servicelibs</groupId>
- <artifactId>proto-backwards-compatibility</artifactId>
- </plugin>
- <plugin>
- <groupId>org.xolstice.maven.plugins</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <version>${protobuf-maven-plugin.version}</version>
- <extensions>true</extensions>
- <executions>
- <execution>
- <id>compile-protoc</id>
- <goals>
- <goal>compile</goal>
- <goal>test-compile</goal>
- </goals>
- <configuration>
- <additionalProtoPathElements>
- <param>
- ${basedir}/../../hadoop-hdds/common/src/main/proto/
- </param>
- <param>${basedir}/src/main/proto</param>
- </additionalProtoPathElements>
- <protocArtifact>
-
com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
- </protocArtifact>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<configuration>
diff --git
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/HeartbeatEndpointTask.java
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/HeartbeatEndpointTask.java
index 494ccd9..da2034d 100644
---
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/HeartbeatEndpointTask.java
+++
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/states/endpoint/HeartbeatEndpointTask.java
@@ -148,9 +148,8 @@ public class HeartbeatEndpointTask
rpcEndpoint.zeroMissedCount();
} catch (IOException ex) {
// put back the reports which failed to be sent
- if (requestBuilder != null) {
- putBackReports(requestBuilder);
- }
+ putBackReports(requestBuilder);
+
rpcEndpoint.logIfNeeded(ex);
} finally {
rpcEndpoint.unlock();
diff --git a/hadoop-hdds/framework/pom.xml b/hadoop-hdds/framework/pom.xml
index 0333d67..4b541b0 100644
--- a/hadoop-hdds/framework/pom.xml
+++ b/hadoop-hdds/framework/pom.xml
@@ -32,6 +32,14 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-admin</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdds-test-utils</artifactId>
<scope>test</scope>
</dependency>
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/freon/FakeScmBlockLocationProtocolClient.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/FakeScmBlockLocationProtocolClient.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/freon/FakeScmBlockLocationProtocolClient.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/FakeScmBlockLocationProtocolClient.java
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/freon/FakeScmContainerLocationProtocolClient.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/FakeScmContainerLocationProtocolClient.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/freon/FakeScmContainerLocationProtocolClient.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/FakeScmContainerLocationProtocolClient.java
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/package-info.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/package-info.java
new file mode 100644
index 0000000..381c811
--- /dev/null
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/freon/package-info.java
@@ -0,0 +1,24 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ * <p>
+ * Freon related helper classes used for load testing.
+ */
+
+/**
+ * Freon related helper classes used for load testing.
+ */
+package org.apache.hadoop.hdds.freon;
\ No newline at end of file
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/DeleteBlockResult.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/DeleteBlockResult.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/DeleteBlockResult.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/DeleteBlockResult.java
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/package-info.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/package-info.java
new file mode 100644
index 0000000..ffe0d3d
--- /dev/null
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/package-info.java
@@ -0,0 +1,22 @@
+/**
+ * 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.hadoop.hdds.scm.container.common.helpers;
+/**
+ Contains protocol buffer helper classes and utilites used in
+ impl.
+ **/
\ No newline at end of file
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocol.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocol.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocol.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/ScmBlockLocationProtocol.java
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/package-info.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/package-info.java
new file mode 100644
index 0000000..b56a749
--- /dev/null
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocol/package-info.java
@@ -0,0 +1,19 @@
+/**
+ * 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.hadoop.hdds.scm.protocol;
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolClientSideTranslatorPB.java
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
similarity index 100%
copy from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
copy to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolClientSideTranslatorPB.java
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolPB.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolPB.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolPB.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/StorageContainerLocationProtocolPB.java
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/package-info.java
similarity index 51%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/package-info.java
index 09fd95c..652ae60 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/ScmBlockLocationProtocolPB.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/scm/protocolPB/package-info.java
@@ -15,25 +15,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.hadoop.hdds.scm.protocolPB;
-import org.apache.hadoop.hdds.annotation.InterfaceAudience;
-import org.apache.hadoop.hdds.protocol.proto.ScmBlockLocationProtocolProtos
- .ScmBlockLocationProtocolService;
-import org.apache.hadoop.hdds.scm.ScmConfig;
-import org.apache.hadoop.ipc.ProtocolInfo;
-import org.apache.hadoop.security.KerberosInfo;
+package org.apache.hadoop.hdds.scm.protocolPB;
/**
- * Protocol used from an HDFS node to StorageContainerManager. This extends
the
- * Protocol Buffers service interface to add Hadoop-specific annotations.
+ * This package contains classes for the client of the storage container
+ * protocol.
*/
-@ProtocolInfo(protocolName =
- "org.apache.hadoop.hdds.scm.protocol.ScmBlockLocationProtocol",
- protocolVersion = 1)
[email protected]
-@KerberosInfo(
- serverPrincipal = ScmConfig.ConfigStrings.HDDS_SCM_KERBEROS_PRINCIPAL_KEY)
-public interface ScmBlockLocationProtocolPB
- extends ScmBlockLocationProtocolService.BlockingInterface {
-}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/BlockGroup.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/BlockGroup.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/BlockGroup.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/BlockGroup.java
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/DeleteBlockGroupResult.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/DeleteBlockGroupResult.java
similarity index 100%
rename from
hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/DeleteBlockGroupResult.java
rename to
hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/DeleteBlockGroupResult.java
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/package-info.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/package-info.java
new file mode 100644
index 0000000..6517e58
--- /dev/null
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/ozone/common/package-info.java
@@ -0,0 +1,18 @@
+/**
+ * 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.hadoop.ozone.common;
\ No newline at end of file
diff --git
a/hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/scm/exceptions/TestSCMExceptionResultCodes.java
b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/scm/exceptions/TestSCMExceptionResultCodes.java
similarity index 100%
rename from
hadoop-hdds/common/src/test/java/org/apache/hadoop/hdds/scm/exceptions/TestSCMExceptionResultCodes.java
rename to
hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/scm/exceptions/TestSCMExceptionResultCodes.java
diff --git a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
b/hadoop-hdds/interface-admin/dev-support/findbugsExcludeFile.xml
similarity index 89%
copy from hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
copy to hadoop-hdds/interface-admin/dev-support/findbugsExcludeFile.xml
index df58f36..3571a89 100644
--- a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdds/interface-admin/dev-support/findbugsExcludeFile.xml
@@ -1,4 +1,3 @@
-<?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
@@ -17,6 +16,6 @@
-->
<FindBugsFilter>
<Match>
- <Package name="org.apache.hadoop.ozone.protocol.proto"/>
+ <Package name="org.apache.hadoop.hdds.protocol.proto"/>
</Match>
</FindBugsFilter>
diff --git a/hadoop-hdds/interface-admin/pom.xml
b/hadoop-hdds/interface-admin/pom.xml
new file mode 100644
index 0000000..04965aa
--- /dev/null
+++ b/hadoop-hdds/interface-admin/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed 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. See accompanying LICENSE file.
+-->
+<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
+https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>hadoop-hdds-interface-admin</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <description>Apache Hadoop Distributed Data Store Admin interface
+ </description>
+ <name>Apache Hadoop HDDS Admin Interface</name>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ </dependency>
+ <!-- required to use common hdds.proto -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.salesforce.servicelibs</groupId>
+ <artifactId>proto-backwards-compatibility</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>${protobuf-maven-plugin.version}</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>compile-protoc-2</id>
+ <goals>
+ <goal>compile</goal>
+ <goal>test-compile</goal>
+ </goals>
+ <configuration>
+ <protocArtifact>
+
com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+ </protocArtifact>
+ <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
+ <outputDirectory>target/generated-sources/java</outputDirectory>
+ <clearOutputDirectory>false</clearOutputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <configuration>
+
<excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
+ </configuration>
+ </plugin>
+
+ </plugins>
+ </build>
+</project>
diff --git
a/hadoop-hdds/common/src/main/proto/StorageContainerLocationProtocol.proto
b/hadoop-hdds/interface-admin/src/main/proto/ScmAdminProtocol.proto
similarity index 100%
rename from
hadoop-hdds/common/src/main/proto/StorageContainerLocationProtocol.proto
rename to hadoop-hdds/interface-admin/src/main/proto/ScmAdminProtocol.proto
diff --git a/hadoop-hdds/interface-admin/src/main/proto/proto.lock
b/hadoop-hdds/interface-admin/src/main/proto/proto.lock
new file mode 100644
index 0000000..7b03859
--- /dev/null
+++ b/hadoop-hdds/interface-admin/src/main/proto/proto.lock
@@ -0,0 +1,895 @@
+{
+ "definitions": [
+ {
+ "protopath": "ScmAdminProtocol.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "ScmContainerLocationResponse.Status",
+ "enum_fields": [
+ {
+ "name": "OK",
+ "integer": 1
+ },
+ {
+ "name": "CONTAINER_ALREADY_EXISTS",
+ "integer": 2
+ },
+ {
+ "name": "CONTAINER_IS_MISSING",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "Type",
+ "enum_fields": [
+ {
+ "name": "AllocateContainer",
+ "integer": 1
+ },
+ {
+ "name": "GetContainer",
+ "integer": 2
+ },
+ {
+ "name": "GetContainerWithPipeline",
+ "integer": 3
+ },
+ {
+ "name": "ListContainer",
+ "integer": 4
+ },
+ {
+ "name": "DeleteContainer",
+ "integer": 5
+ },
+ {
+ "name": "QueryNode",
+ "integer": 6
+ },
+ {
+ "name": "CloseContainer",
+ "integer": 7
+ },
+ {
+ "name": "AllocatePipeline",
+ "integer": 8
+ },
+ {
+ "name": "ListPipelines",
+ "integer": 9
+ },
+ {
+ "name": "ActivatePipeline",
+ "integer": 10
+ },
+ {
+ "name": "DeactivatePipeline",
+ "integer": 11
+ },
+ {
+ "name": "ClosePipeline",
+ "integer": 12
+ },
+ {
+ "name": "GetScmInfo",
+ "integer": 13
+ },
+ {
+ "name": "InSafeMode",
+ "integer": 14
+ },
+ {
+ "name": "ForceExitSafeMode",
+ "integer": 15
+ },
+ {
+ "name": "StartReplicationManager",
+ "integer": 16
+ },
+ {
+ "name": "StopReplicationManager",
+ "integer": 17
+ },
+ {
+ "name": "GetReplicationManagerStatus",
+ "integer": 18
+ },
+ {
+ "name": "GetPipeline",
+ "integer": 19
+ },
+ {
+ "name": "GetContainerWithPipelineBatch",
+ "integer": 20
+ }
+ ]
+ },
+ {
+ "name": "ContainerResponseProto.Error",
+ "enum_fields": [
+ {
+ "name": "success",
+ "integer": 1
+ },
+ {
+ "name": "errorContainerAlreadyExists",
+ "integer": 2
+ },
+ {
+ "name": "errorContainerMissing",
+ "integer": 3
+ }
+ ]
+ },
+ {
+ "name": "PipelineResponseProto.Error",
+ "enum_fields": [
+ {
+ "name": "success",
+ "integer": 1
+ },
+ {
+ "name": "errorPipelineAlreadyExists",
+ "integer": 2
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "ScmContainerLocationRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cmdType",
+ "type": "Type"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ },
+ {
+ "id": 6,
+ "name": "containerRequest",
+ "type": "ContainerRequestProto"
+ },
+ {
+ "id": 7,
+ "name": "getContainerRequest",
+ "type": "GetContainerRequestProto"
+ },
+ {
+ "id": 8,
+ "name": "getContainerWithPipelineRequest",
+ "type": "GetContainerWithPipelineRequestProto"
+ },
+ {
+ "id": 9,
+ "name": "scmListContainerRequest",
+ "type": "SCMListContainerRequestProto"
+ },
+ {
+ "id": 10,
+ "name": "scmDeleteContainerRequest",
+ "type": "SCMDeleteContainerRequestProto"
+ },
+ {
+ "id": 11,
+ "name": "nodeQueryRequest",
+ "type": "NodeQueryRequestProto"
+ },
+ {
+ "id": 12,
+ "name": "scmCloseContainerRequest",
+ "type": "SCMCloseContainerRequestProto"
+ },
+ {
+ "id": 13,
+ "name": "pipelineRequest",
+ "type": "PipelineRequestProto"
+ },
+ {
+ "id": 14,
+ "name": "listPipelineRequest",
+ "type": "ListPipelineRequestProto"
+ },
+ {
+ "id": 15,
+ "name": "activatePipelineRequest",
+ "type": "ActivatePipelineRequestProto"
+ },
+ {
+ "id": 16,
+ "name": "deactivatePipelineRequest",
+ "type": "DeactivatePipelineRequestProto"
+ },
+ {
+ "id": 17,
+ "name": "closePipelineRequest",
+ "type": "ClosePipelineRequestProto"
+ },
+ {
+ "id": 18,
+ "name": "getScmInfoRequest",
+ "type": "GetScmInfoRequestProto"
+ },
+ {
+ "id": 19,
+ "name": "inSafeModeRequest",
+ "type": "InSafeModeRequestProto"
+ },
+ {
+ "id": 20,
+ "name": "forceExitSafeModeRequest",
+ "type": "ForceExitSafeModeRequestProto"
+ },
+ {
+ "id": 21,
+ "name": "startReplicationManagerRequest",
+ "type": "StartReplicationManagerRequestProto"
+ },
+ {
+ "id": 22,
+ "name": "stopReplicationManagerRequest",
+ "type": "StopReplicationManagerRequestProto"
+ },
+ {
+ "id": 23,
+ "name": "seplicationManagerStatusRequest",
+ "type": "ReplicationManagerStatusRequestProto"
+ },
+ {
+ "id": 24,
+ "name": "getPipelineRequest",
+ "type": "GetPipelineRequestProto"
+ },
+ {
+ "id": 25,
+ "name": "getContainerWithPipelineBatchRequest",
+ "type": "GetContainerWithPipelineBatchRequestProto"
+ }
+ ]
+ },
+ {
+ "name": "ScmContainerLocationResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cmdType",
+ "type": "Type"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "success",
+ "type": "bool",
+ "options": [
+ {
+ "name": "default",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "id": 4,
+ "name": "message",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "status",
+ "type": "Status"
+ },
+ {
+ "id": 6,
+ "name": "containerResponse",
+ "type": "ContainerResponseProto"
+ },
+ {
+ "id": 7,
+ "name": "getContainerResponse",
+ "type": "GetContainerResponseProto"
+ },
+ {
+ "id": 8,
+ "name": "getContainerWithPipelineResponse",
+ "type": "GetContainerWithPipelineResponseProto"
+ },
+ {
+ "id": 9,
+ "name": "scmListContainerResponse",
+ "type": "SCMListContainerResponseProto"
+ },
+ {
+ "id": 10,
+ "name": "scmDeleteContainerResponse",
+ "type": "SCMDeleteContainerResponseProto"
+ },
+ {
+ "id": 11,
+ "name": "nodeQueryResponse",
+ "type": "NodeQueryResponseProto"
+ },
+ {
+ "id": 12,
+ "name": "scmCloseContainerResponse",
+ "type": "SCMCloseContainerResponseProto"
+ },
+ {
+ "id": 13,
+ "name": "pipelineResponse",
+ "type": "PipelineResponseProto"
+ },
+ {
+ "id": 14,
+ "name": "listPipelineResponse",
+ "type": "ListPipelineResponseProto"
+ },
+ {
+ "id": 15,
+ "name": "activatePipelineResponse",
+ "type": "ActivatePipelineResponseProto"
+ },
+ {
+ "id": 16,
+ "name": "deactivatePipelineResponse",
+ "type": "DeactivatePipelineResponseProto"
+ },
+ {
+ "id": 17,
+ "name": "closePipelineResponse",
+ "type": "ClosePipelineResponseProto"
+ },
+ {
+ "id": 18,
+ "name": "getScmInfoResponse",
+ "type": "GetScmInfoResponseProto"
+ },
+ {
+ "id": 19,
+ "name": "inSafeModeResponse",
+ "type": "InSafeModeResponseProto"
+ },
+ {
+ "id": 20,
+ "name": "forceExitSafeModeResponse",
+ "type": "ForceExitSafeModeResponseProto"
+ },
+ {
+ "id": 21,
+ "name": "startReplicationManagerResponse",
+ "type": "StartReplicationManagerResponseProto"
+ },
+ {
+ "id": 22,
+ "name": "stopReplicationManagerResponse",
+ "type": "StopReplicationManagerResponseProto"
+ },
+ {
+ "id": 23,
+ "name": "replicationManagerStatusResponse",
+ "type": "ReplicationManagerStatusResponseProto"
+ },
+ {
+ "id": 24,
+ "name": "getPipelineResponse",
+ "type": "GetPipelineResponseProto"
+ },
+ {
+ "id": 25,
+ "name": "getContainerWithPipelineBatchResponse",
+ "type": "GetContainerWithPipelineBatchResponseProto"
+ }
+ ]
+ },
+ {
+ "name": "ContainerRequestProto",
+ "fields": [
+ {
+ "id": 2,
+ "name": "replicationFactor",
+ "type": "ReplicationFactor"
+ },
+ {
+ "id": 3,
+ "name": "replicationType",
+ "type": "ReplicationType"
+ },
+ {
+ "id": 4,
+ "name": "owner",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ContainerResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "errorCode",
+ "type": "Error"
+ },
+ {
+ "id": 2,
+ "name": "containerWithPipeline",
+ "type": "ContainerWithPipeline"
+ },
+ {
+ "id": 3,
+ "name": "errorMessage",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "GetContainerRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerID",
+ "type": "int64"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "GetContainerResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerInfo",
+ "type": "ContainerInfoProto"
+ }
+ ]
+ },
+ {
+ "name": "GetContainerWithPipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerID",
+ "type": "int64"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "GetContainerWithPipelineResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerWithPipeline",
+ "type": "ContainerWithPipeline"
+ }
+ ]
+ },
+ {
+ "name": "GetContainerWithPipelineBatchRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerIDs",
+ "type": "int64",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "GetContainerWithPipelineBatchResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerWithPipelines",
+ "type": "ContainerWithPipeline",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "SCMListContainerRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "count",
+ "type": "uint32"
+ },
+ {
+ "id": 2,
+ "name": "startContainerID",
+ "type": "uint64"
+ },
+ {
+ "id": 3,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "SCMListContainerResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containers",
+ "type": "ContainerInfoProto",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "SCMDeleteContainerRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerID",
+ "type": "int64"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "SCMDeleteContainerResponseProto"
+ },
+ {
+ "name": "SCMCloseContainerRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerID",
+ "type": "int64"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "SCMCloseContainerResponseProto"
+ },
+ {
+ "name": "NodeQueryRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "state",
+ "type": "NodeState"
+ },
+ {
+ "id": 2,
+ "name": "scope",
+ "type": "QueryScope"
+ },
+ {
+ "id": 3,
+ "name": "poolName",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "NodeQueryResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "datanodes",
+ "type": "Node",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "PipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "replicationType",
+ "type": "ReplicationType"
+ },
+ {
+ "id": 2,
+ "name": "replicationFactor",
+ "type": "ReplicationFactor"
+ },
+ {
+ "id": 3,
+ "name": "nodePool",
+ "type": "NodePool"
+ },
+ {
+ "id": 4,
+ "name": "pipelineID",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "PipelineResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "errorCode",
+ "type": "Error"
+ },
+ {
+ "id": 2,
+ "name": "pipeline",
+ "type": "Pipeline"
+ },
+ {
+ "id": 3,
+ "name": "errorMessage",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ListPipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ListPipelineResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "pipelines",
+ "type": "Pipeline",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "GetPipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "pipelineID",
+ "type": "PipelineID"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "GetPipelineResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "pipeline",
+ "type": "Pipeline"
+ }
+ ]
+ },
+ {
+ "name": "ActivatePipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "pipelineID",
+ "type": "PipelineID"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ActivatePipelineResponseProto"
+ },
+ {
+ "name": "DeactivatePipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "pipelineID",
+ "type": "PipelineID"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "DeactivatePipelineResponseProto"
+ },
+ {
+ "name": "ClosePipelineRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "pipelineID",
+ "type": "PipelineID"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ClosePipelineResponseProto"
+ },
+ {
+ "name": "InSafeModeRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "InSafeModeResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "inSafeMode",
+ "type": "bool"
+ }
+ ]
+ },
+ {
+ "name": "ForceExitSafeModeRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ForceExitSafeModeResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "exitedSafeMode",
+ "type": "bool"
+ }
+ ]
+ },
+ {
+ "name": "StartReplicationManagerRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "StartReplicationManagerResponseProto"
+ },
+ {
+ "name": "StopReplicationManagerRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "StopReplicationManagerResponseProto"
+ },
+ {
+ "name": "ReplicationManagerStatusRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "traceID",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "ReplicationManagerStatusResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "isRunning",
+ "type": "bool"
+ }
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "StorageContainerLocationProtocolService",
+ "rpcs": [
+ {
+ "name": "submitRequest",
+ "in_type": "ScmContainerLocationRequest",
+ "out_type": "ScmContainerLocationResponse"
+ }
+ ]
+ }
+ ],
+ "imports": [
+ {
+ "path": "hdds.proto"
+ }
+ ],
+ "package": {
+ "name": "hadoop.hdds.container"
+ },
+ "options": [
+ {
+ "name": "java_package",
+ "value": "org.apache.hadoop.hdds.protocol.proto"
+ },
+ {
+ "name": "java_outer_classname",
+ "value": "StorageContainerLocationProtocolProtos"
+ },
+ {
+ "name": "java_generic_services",
+ "value": "true"
+ },
+ {
+ "name": "java_generate_equals_and_hash",
+ "value": "true"
+ }
+ ]
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
b/hadoop-hdds/interface-client/dev-support/findbugsExcludeFile.xml
similarity index 85%
copy from hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
copy to hadoop-hdds/interface-client/dev-support/findbugsExcludeFile.xml
index df58f36..ba54a4f 100644
--- a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdds/interface-client/dev-support/findbugsExcludeFile.xml
@@ -1,4 +1,3 @@
-<?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
@@ -17,6 +16,9 @@
-->
<FindBugsFilter>
<Match>
- <Package name="org.apache.hadoop.ozone.protocol.proto"/>
+ <Package name="org.apache.hadoop.hdds.protocol.datanode.proto"/>
+ </Match>
+ <Match>
+ <Package name="org.apache.hadoop.hdds.protocol.proto"/>
</Match>
</FindBugsFilter>
diff --git a/hadoop-hdds/interface-client/pom.xml
b/hadoop-hdds/interface-client/pom.xml
new file mode 100644
index 0000000..f6d1dec
--- /dev/null
+++ b/hadoop-hdds/interface-client/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed 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. See accompanying LICENSE file.
+-->
+<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
+https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <description>Apache Hadoop Distributed Data Store Client interface
+ </description>
+ <name>Apache Hadoop HDDS Client Interface</name>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ratis</groupId>
+ <artifactId>ratis-thirdparty-misc</artifactId>
+ <version>0.4.0</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.salesforce.servicelibs</groupId>
+ <artifactId>proto-backwards-compatibility</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>${protobuf-maven-plugin.version}</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>compile-protoc-3</id>
+ <goals>
+ <goal>compile</goal>
+ <goal>test-compile</goal>
+ <goal>compile-custom</goal>
+ <goal>test-compile-custom</goal>
+ </goals>
+ <configuration>
+ <protocArtifact>
+
com.google.protobuf:protoc:${protobuf-compile.version}:exe:${os.detected.classifier}
+ </protocArtifact>
+ <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
+ <includes>
+ <include>DatanodeClientProtocol.proto</include>
+ </includes>
+ <outputDirectory>target/generated-sources/java</outputDirectory>
+ <clearOutputDirectory>false</clearOutputDirectory>
+ <pluginId>grpc-java</pluginId>
+ <pluginArtifact>
+
io.grpc:protoc-gen-grpc-java:${grpc-compile.version}:exe:${os.detected.classifier}
+ </pluginArtifact>
+ </configuration>
+ </execution>
+ <execution>
+ <id>compile-protoc-2</id>
+ <goals>
+ <goal>compile</goal>
+ <goal>test-compile</goal>
+ </goals>
+ <configuration>
+ <protocArtifact>
+
com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+ </protocArtifact>
+ <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
+ <includes>
+ <include>hdds.proto</include>
+ </includes>
+ <outputDirectory>target/generated-sources/java</outputDirectory>
+ <clearOutputDirectory>false</clearOutputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <configuration>
+ <tasks>
+ <replace token="com.google.protobuf"
+
value="org.apache.ratis.thirdparty.com.google.protobuf"
+
dir="target/generated-sources/java/org/apache/hadoop/hdds/protocol/datanode/proto">
+ </replace>
+ <replace token="io.grpc"
+ value="org.apache.ratis.thirdparty.io.grpc"
+
dir="target/generated-sources/java/org/apache/hadoop/hdds/protocol/datanode/proto">
+ </replace>
+ <replace token="com.google.common"
+ value="org.apache.ratis.thirdparty.com.google.common"
+
dir="target/generated-sources/java/org/apache/hadoop/hdds/protocol/datanode/proto">
+ </replace>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <configuration>
+
<excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto
b/hadoop-hdds/interface-client/src/main/proto/DatanodeClientProtocol.proto
similarity index 100%
rename from hadoop-hdds/common/src/main/proto/DatanodeContainerProtocol.proto
rename to
hadoop-hdds/interface-client/src/main/proto/DatanodeClientProtocol.proto
diff --git a/hadoop-hdds/common/src/main/proto/hdds.proto
b/hadoop-hdds/interface-client/src/main/proto/hdds.proto
similarity index 100%
rename from hadoop-hdds/common/src/main/proto/hdds.proto
rename to hadoop-hdds/interface-client/src/main/proto/hdds.proto
diff --git a/hadoop-hdds/common/src/main/proto/proto.lock
b/hadoop-hdds/interface-client/src/main/proto/proto.lock
similarity index 51%
rename from hadoop-hdds/common/src/main/proto/proto.lock
rename to hadoop-hdds/interface-client/src/main/proto/proto.lock
index 02749d7..5706a6f 100644
--- a/hadoop-hdds/common/src/main/proto/proto.lock
+++ b/hadoop-hdds/interface-client/src/main/proto/proto.lock
@@ -1,7 +1,7 @@
{
"definitions": [
{
- "protopath": "DatanodeContainerProtocol.proto",
+ "protopath": "DatanodeClientProtocol.proto",
"def": {
"enums": [
{
@@ -1229,1752 +1229,6 @@
}
},
{
- "protopath": "SCMSecurityProtocol.proto",
- "def": {
- "enums": [
- {
- "name": "Type",
- "enum_fields": [
- {
- "name": "GetDataNodeCertificate",
- "integer": 1
- },
- {
- "name": "GetOMCertificate",
- "integer": 2
- },
- {
- "name": "GetCertificate",
- "integer": 3
- },
- {
- "name": "GetCACertificate",
- "integer": 4
- }
- ]
- },
- {
- "name": "Status",
- "enum_fields": [
- {
- "name": "OK",
- "integer": 1
- }
- ]
- },
- {
- "name": "SCMGetCertResponseProto.ResponseCode",
- "enum_fields": [
- {
- "name": "success",
- "integer": 1
- },
- {
- "name": "authenticationFailed",
- "integer": 2
- },
- {
- "name": "invalidCSR",
- "integer": 3
- }
- ]
- }
- ],
- "messages": [
- {
- "name": "SCMSecurityRequest",
- "fields": [
- {
- "id": 1,
- "name": "cmdType",
- "type": "Type"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- },
- {
- "id": 3,
- "name": "getDataNodeCertRequest",
- "type": "SCMGetDataNodeCertRequestProto"
- },
- {
- "id": 4,
- "name": "getOMCertRequest",
- "type": "SCMGetOMCertRequestProto"
- },
- {
- "id": 5,
- "name": "getCertificateRequest",
- "type": "SCMGetCertificateRequestProto"
- },
- {
- "id": 6,
- "name": "getCACertificateRequest",
- "type": "SCMGetCACertificateRequestProto"
- }
- ]
- },
- {
- "name": "SCMSecurityResponse",
- "fields": [
- {
- "id": 1,
- "name": "cmdType",
- "type": "Type"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- },
- {
- "id": 3,
- "name": "success",
- "type": "bool",
- "options": [
- {
- "name": "default",
- "value": "true"
- }
- ]
- },
- {
- "id": 4,
- "name": "message",
- "type": "string"
- },
- {
- "id": 5,
- "name": "status",
- "type": "Status"
- },
- {
- "id": 6,
- "name": "getCertResponseProto",
- "type": "SCMGetCertResponseProto"
- }
- ]
- },
- {
- "name": "SCMGetDataNodeCertRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "datanodeDetails",
- "type": "DatanodeDetailsProto"
- },
- {
- "id": 2,
- "name": "CSR",
- "type": "string"
- }
- ]
- },
- {
- "name": "SCMGetOMCertRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "omDetails",
- "type": "OzoneManagerDetailsProto"
- },
- {
- "id": 2,
- "name": "CSR",
- "type": "string"
- }
- ]
- },
- {
- "name": "SCMGetCertificateRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "certSerialId",
- "type": "string"
- }
- ]
- },
- {
- "name": "SCMGetCACertificateRequestProto"
- },
- {
- "name": "SCMGetCertResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "responseCode",
- "type": "ResponseCode"
- },
- {
- "id": 2,
- "name": "x509Certificate",
- "type": "string"
- },
- {
- "id": 3,
- "name": "x509CACertificate",
- "type": "string"
- }
- ]
- }
- ],
- "services": [
- {
- "name": "SCMSecurityProtocolService",
- "rpcs": [
- {
- "name": "submitRequest",
- "in_type": "SCMSecurityRequest",
- "out_type": "SCMSecurityResponse"
- }
- ]
- }
- ],
- "imports": [
- {
- "path": "hdds.proto"
- }
- ],
- "package": {
- "name": "hadoop.hdds.security"
- },
- "options": [
- {
- "name": "java_package",
- "value": "org.apache.hadoop.hdds.protocol.proto"
- },
- {
- "name": "java_outer_classname",
- "value": "SCMSecurityProtocolProtos"
- },
- {
- "name": "java_generic_services",
- "value": "true"
- },
- {
- "name": "java_generate_equals_and_hash",
- "value": "true"
- }
- ]
- }
- },
- {
- "protopath": "ScmBlockLocationProtocol.proto",
- "def": {
- "enums": [
- {
- "name": "Type",
- "enum_fields": [
- {
- "name": "AllocateScmBlock",
- "integer": 11
- },
- {
- "name": "DeleteScmKeyBlocks",
- "integer": 12
- },
- {
- "name": "GetScmInfo",
- "integer": 13
- },
- {
- "name": "SortDatanodes",
- "integer": 14
- }
- ]
- },
- {
- "name": "Status",
- "enum_fields": [
- {
- "name": "OK",
- "integer": 1
- },
- {
- "name": "FAILED_TO_LOAD_NODEPOOL",
- "integer": 2
- },
- {
- "name": "FAILED_TO_FIND_NODE_IN_POOL",
- "integer": 3
- },
- {
- "name": "FAILED_TO_FIND_HEALTHY_NODES",
- "integer": 4
- },
- {
- "name": "FAILED_TO_FIND_NODES_WITH_SPACE",
- "integer": 5
- },
- {
- "name": "FAILED_TO_FIND_SUITABLE_NODE",
- "integer": 6
- },
- {
- "name": "INVALID_CAPACITY",
- "integer": 7
- },
- {
- "name": "INVALID_BLOCK_SIZE",
- "integer": 8
- },
- {
- "name": "SAFE_MODE_EXCEPTION",
- "integer": 9
- },
- {
- "name": "FAILED_TO_LOAD_OPEN_CONTAINER",
- "integer": 10
- },
- {
- "name": "FAILED_TO_ALLOCATE_CONTAINER",
- "integer": 11
- },
- {
- "name": "FAILED_TO_CHANGE_CONTAINER_STATE",
- "integer": 12
- },
- {
- "name": "FAILED_TO_CHANGE_PIPELINE_STATE",
- "integer": 13
- },
- {
- "name": "CONTAINER_EXISTS",
- "integer": 14
- },
- {
- "name": "FAILED_TO_FIND_CONTAINER",
- "integer": 15
- },
- {
- "name": "FAILED_TO_FIND_CONTAINER_WITH_SPACE",
- "integer": 16
- },
- {
- "name": "BLOCK_EXISTS",
- "integer": 17
- },
- {
- "name": "FAILED_TO_FIND_BLOCK",
- "integer": 18
- },
- {
- "name": "IO_EXCEPTION",
- "integer": 19
- },
- {
- "name": "UNEXPECTED_CONTAINER_STATE",
- "integer": 20
- },
- {
- "name": "SCM_NOT_INITIALIZED",
- "integer": 21
- },
- {
- "name": "DUPLICATE_DATANODE",
- "integer": 22
- },
- {
- "name": "NO_SUCH_DATANODE",
- "integer": 23
- },
- {
- "name": "NO_REPLICA_FOUND",
- "integer": 24
- },
- {
- "name": "FAILED_TO_FIND_ACTIVE_PIPELINE",
- "integer": 25
- },
- {
- "name": "FAILED_TO_INIT_CONTAINER_PLACEMENT_POLICY",
- "integer": 26
- },
- {
- "name": "FAILED_TO_ALLOCATE_ENOUGH_BLOCKS",
- "integer": 27
- },
- {
- "name": "INTERNAL_ERROR",
- "integer": 29
- }
- ]
- },
- {
- "name": "DeleteScmBlockResult.Result",
- "enum_fields": [
- {
- "name": "success",
- "integer": 1
- },
- {
- "name": "safeMode",
- "integer": 2
- },
- {
- "name": "errorNotFound",
- "integer": 3
- },
- {
- "name": "unknownFailure",
- "integer": 4
- }
- ]
- }
- ],
- "messages": [
- {
- "name": "SCMBlockLocationRequest",
- "fields": [
- {
- "id": 1,
- "name": "cmdType",
- "type": "Type"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- },
- {
- "id": 3,
- "name": "userInfo",
- "type": "UserInfo"
- },
- {
- "id": 11,
- "name": "allocateScmBlockRequest",
- "type": "AllocateScmBlockRequestProto"
- },
- {
- "id": 12,
- "name": "deleteScmKeyBlocksRequest",
- "type": "DeleteScmKeyBlocksRequestProto"
- },
- {
- "id": 13,
- "name": "getScmInfoRequest",
- "type": "hadoop.hdds.GetScmInfoRequestProto"
- },
- {
- "id": 14,
- "name": "sortDatanodesRequest",
- "type": "SortDatanodesRequestProto"
- }
- ]
- },
- {
- "name": "SCMBlockLocationResponse",
- "fields": [
- {
- "id": 1,
- "name": "cmdType",
- "type": "Type"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- },
- {
- "id": 3,
- "name": "success",
- "type": "bool",
- "options": [
- {
- "name": "default",
- "value": "true"
- }
- ]
- },
- {
- "id": 4,
- "name": "message",
- "type": "string"
- },
- {
- "id": 5,
- "name": "status",
- "type": "Status"
- },
- {
- "id": 6,
- "name": "leaderOMNodeId",
- "type": "string"
- },
- {
- "id": 11,
- "name": "allocateScmBlockResponse",
- "type": "AllocateScmBlockResponseProto"
- },
- {
- "id": 12,
- "name": "deleteScmKeyBlocksResponse",
- "type": "DeleteScmKeyBlocksResponseProto"
- },
- {
- "id": 13,
- "name": "getScmInfoResponse",
- "type": "hadoop.hdds.GetScmInfoResponseProto"
- },
- {
- "id": 14,
- "name": "sortDatanodesResponse",
- "type": "SortDatanodesResponseProto"
- }
- ]
- },
- {
- "name": "UserInfo",
- "fields": [
- {
- "id": 1,
- "name": "userName",
- "type": "string"
- },
- {
- "id": 3,
- "name": "remoteAddress",
- "type": "string"
- }
- ]
- },
- {
- "name": "AllocateScmBlockRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "size",
- "type": "uint64"
- },
- {
- "id": 2,
- "name": "numBlocks",
- "type": "uint32"
- },
- {
- "id": 3,
- "name": "type",
- "type": "ReplicationType"
- },
- {
- "id": 4,
- "name": "factor",
- "type": "hadoop.hdds.ReplicationFactor"
- },
- {
- "id": 5,
- "name": "owner",
- "type": "string"
- },
- {
- "id": 7,
- "name": "excludeList",
- "type": "ExcludeListProto"
- }
- ]
- },
- {
- "name": "DeleteScmKeyBlocksRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "keyBlocks",
- "type": "KeyBlocks",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "KeyBlocks",
- "fields": [
- {
- "id": 1,
- "name": "key",
- "type": "string"
- },
- {
- "id": 2,
- "name": "blocks",
- "type": "BlockID",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "DeleteScmKeyBlocksResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "results",
- "type": "DeleteKeyBlocksResultProto",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "DeleteKeyBlocksResultProto",
- "fields": [
- {
- "id": 1,
- "name": "objectKey",
- "type": "string"
- },
- {
- "id": 2,
- "name": "blockResults",
- "type": "DeleteScmBlockResult",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "DeleteScmBlockResult",
- "fields": [
- {
- "id": 1,
- "name": "result",
- "type": "Result"
- },
- {
- "id": 2,
- "name": "blockID",
- "type": "BlockID"
- }
- ]
- },
- {
- "name": "AllocateBlockResponse",
- "fields": [
- {
- "id": 1,
- "name": "containerBlockID",
- "type": "ContainerBlockID"
- },
- {
- "id": 2,
- "name": "pipeline",
- "type": "hadoop.hdds.Pipeline"
- }
- ]
- },
- {
- "name": "AllocateScmBlockResponseProto",
- "fields": [
- {
- "id": 3,
- "name": "blocks",
- "type": "AllocateBlockResponse",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "SortDatanodesRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "client",
- "type": "string"
- },
- {
- "id": 2,
- "name": "nodeNetworkName",
- "type": "string",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "SortDatanodesResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "node",
- "type": "DatanodeDetailsProto",
- "is_repeated": true
- }
- ]
- }
- ],
- "services": [
- {
- "name": "ScmBlockLocationProtocolService",
- "rpcs": [
- {
- "name": "send",
- "in_type": "SCMBlockLocationRequest",
- "out_type": "SCMBlockLocationResponse"
- }
- ]
- }
- ],
- "imports": [
- {
- "path": "hdds.proto"
- }
- ],
- "package": {
- "name": "hadoop.hdds.block"
- },
- "options": [
- {
- "name": "java_package",
- "value": "org.apache.hadoop.hdds.protocol.proto"
- },
- {
- "name": "java_outer_classname",
- "value": "ScmBlockLocationProtocolProtos"
- },
- {
- "name": "java_generic_services",
- "value": "true"
- },
- {
- "name": "java_generate_equals_and_hash",
- "value": "true"
- }
- ]
- }
- },
- {
- "protopath": "Security.proto",
- "def": {
- "messages": [
- {
- "name": "TokenProto",
- "fields": [
- {
- "id": 1,
- "name": "identifier",
- "type": "bytes"
- },
- {
- "id": 2,
- "name": "password",
- "type": "bytes"
- },
- {
- "id": 3,
- "name": "kind",
- "type": "string"
- },
- {
- "id": 4,
- "name": "service",
- "type": "string"
- }
- ]
- },
- {
- "name": "CredentialsKVProto",
- "fields": [
- {
- "id": 1,
- "name": "alias",
- "type": "string"
- },
- {
- "id": 2,
- "name": "token",
- "type": "hadoop.common.TokenProto"
- },
- {
- "id": 3,
- "name": "secret",
- "type": "bytes"
- }
- ]
- },
- {
- "name": "CredentialsProto",
- "fields": [
- {
- "id": 1,
- "name": "tokens",
- "type": "hadoop.common.CredentialsKVProto",
- "is_repeated": true
- },
- {
- "id": 2,
- "name": "secrets",
- "type": "hadoop.common.CredentialsKVProto",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "GetDelegationTokenRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "renewer",
- "type": "string"
- }
- ]
- },
- {
- "name": "GetDelegationTokenResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "token",
- "type": "hadoop.common.TokenProto"
- }
- ]
- },
- {
- "name": "RenewDelegationTokenRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "token",
- "type": "hadoop.common.TokenProto"
- }
- ]
- },
- {
- "name": "RenewDelegationTokenResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "newExpiryTime",
- "type": "uint64"
- }
- ]
- },
- {
- "name": "CancelDelegationTokenRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "token",
- "type": "hadoop.common.TokenProto"
- }
- ]
- },
- {
- "name": "CancelDelegationTokenResponseProto"
- }
- ],
- "package": {
- "name": "hadoop.common"
- },
- "options": [
- {
- "name": "java_package",
- "value": "org.apache.hadoop.security.proto"
- },
- {
- "name": "java_outer_classname",
- "value": "SecurityProtos"
- },
- {
- "name": "java_generic_services",
- "value": "true"
- },
- {
- "name": "java_generate_equals_and_hash",
- "value": "true"
- }
- ]
- }
- },
- {
- "protopath": "StorageContainerLocationProtocol.proto",
- "def": {
- "enums": [
- {
- "name": "ScmContainerLocationResponse.Status",
- "enum_fields": [
- {
- "name": "OK",
- "integer": 1
- },
- {
- "name": "CONTAINER_ALREADY_EXISTS",
- "integer": 2
- },
- {
- "name": "CONTAINER_IS_MISSING",
- "integer": 3
- }
- ]
- },
- {
- "name": "Type",
- "enum_fields": [
- {
- "name": "AllocateContainer",
- "integer": 1
- },
- {
- "name": "GetContainer",
- "integer": 2
- },
- {
- "name": "GetContainerWithPipeline",
- "integer": 3
- },
- {
- "name": "ListContainer",
- "integer": 4
- },
- {
- "name": "DeleteContainer",
- "integer": 5
- },
- {
- "name": "QueryNode",
- "integer": 6
- },
- {
- "name": "CloseContainer",
- "integer": 7
- },
- {
- "name": "AllocatePipeline",
- "integer": 8
- },
- {
- "name": "ListPipelines",
- "integer": 9
- },
- {
- "name": "ActivatePipeline",
- "integer": 10
- },
- {
- "name": "DeactivatePipeline",
- "integer": 11
- },
- {
- "name": "ClosePipeline",
- "integer": 12
- },
- {
- "name": "GetScmInfo",
- "integer": 13
- },
- {
- "name": "InSafeMode",
- "integer": 14
- },
- {
- "name": "ForceExitSafeMode",
- "integer": 15
- },
- {
- "name": "StartReplicationManager",
- "integer": 16
- },
- {
- "name": "StopReplicationManager",
- "integer": 17
- },
- {
- "name": "GetReplicationManagerStatus",
- "integer": 18
- },
- {
- "name": "GetPipeline",
- "integer": 19
- },
- {
- "name": "GetContainerWithPipelineBatch",
- "integer": 20
- }
- ]
- },
- {
- "name": "ContainerResponseProto.Error",
- "enum_fields": [
- {
- "name": "success",
- "integer": 1
- },
- {
- "name": "errorContainerAlreadyExists",
- "integer": 2
- },
- {
- "name": "errorContainerMissing",
- "integer": 3
- }
- ]
- },
- {
- "name": "PipelineResponseProto.Error",
- "enum_fields": [
- {
- "name": "success",
- "integer": 1
- },
- {
- "name": "errorPipelineAlreadyExists",
- "integer": 2
- }
- ]
- }
- ],
- "messages": [
- {
- "name": "ScmContainerLocationRequest",
- "fields": [
- {
- "id": 1,
- "name": "cmdType",
- "type": "Type"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- },
- {
- "id": 6,
- "name": "containerRequest",
- "type": "ContainerRequestProto"
- },
- {
- "id": 7,
- "name": "getContainerRequest",
- "type": "GetContainerRequestProto"
- },
- {
- "id": 8,
- "name": "getContainerWithPipelineRequest",
- "type": "GetContainerWithPipelineRequestProto"
- },
- {
- "id": 9,
- "name": "scmListContainerRequest",
- "type": "SCMListContainerRequestProto"
- },
- {
- "id": 10,
- "name": "scmDeleteContainerRequest",
- "type": "SCMDeleteContainerRequestProto"
- },
- {
- "id": 11,
- "name": "nodeQueryRequest",
- "type": "NodeQueryRequestProto"
- },
- {
- "id": 12,
- "name": "scmCloseContainerRequest",
- "type": "SCMCloseContainerRequestProto"
- },
- {
- "id": 13,
- "name": "pipelineRequest",
- "type": "PipelineRequestProto"
- },
- {
- "id": 14,
- "name": "listPipelineRequest",
- "type": "ListPipelineRequestProto"
- },
- {
- "id": 15,
- "name": "activatePipelineRequest",
- "type": "ActivatePipelineRequestProto"
- },
- {
- "id": 16,
- "name": "deactivatePipelineRequest",
- "type": "DeactivatePipelineRequestProto"
- },
- {
- "id": 17,
- "name": "closePipelineRequest",
- "type": "ClosePipelineRequestProto"
- },
- {
- "id": 18,
- "name": "getScmInfoRequest",
- "type": "GetScmInfoRequestProto"
- },
- {
- "id": 19,
- "name": "inSafeModeRequest",
- "type": "InSafeModeRequestProto"
- },
- {
- "id": 20,
- "name": "forceExitSafeModeRequest",
- "type": "ForceExitSafeModeRequestProto"
- },
- {
- "id": 21,
- "name": "startReplicationManagerRequest",
- "type": "StartReplicationManagerRequestProto"
- },
- {
- "id": 22,
- "name": "stopReplicationManagerRequest",
- "type": "StopReplicationManagerRequestProto"
- },
- {
- "id": 23,
- "name": "seplicationManagerStatusRequest",
- "type": "ReplicationManagerStatusRequestProto"
- },
- {
- "id": 24,
- "name": "getPipelineRequest",
- "type": "GetPipelineRequestProto"
- },
- {
- "id": 25,
- "name": "getContainerWithPipelineBatchRequest",
- "type": "GetContainerWithPipelineBatchRequestProto"
- }
- ]
- },
- {
- "name": "ScmContainerLocationResponse",
- "fields": [
- {
- "id": 1,
- "name": "cmdType",
- "type": "Type"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- },
- {
- "id": 3,
- "name": "success",
- "type": "bool",
- "options": [
- {
- "name": "default",
- "value": "true"
- }
- ]
- },
- {
- "id": 4,
- "name": "message",
- "type": "string"
- },
- {
- "id": 5,
- "name": "status",
- "type": "Status"
- },
- {
- "id": 6,
- "name": "containerResponse",
- "type": "ContainerResponseProto"
- },
- {
- "id": 7,
- "name": "getContainerResponse",
- "type": "GetContainerResponseProto"
- },
- {
- "id": 8,
- "name": "getContainerWithPipelineResponse",
- "type": "GetContainerWithPipelineResponseProto"
- },
- {
- "id": 9,
- "name": "scmListContainerResponse",
- "type": "SCMListContainerResponseProto"
- },
- {
- "id": 10,
- "name": "scmDeleteContainerResponse",
- "type": "SCMDeleteContainerResponseProto"
- },
- {
- "id": 11,
- "name": "nodeQueryResponse",
- "type": "NodeQueryResponseProto"
- },
- {
- "id": 12,
- "name": "scmCloseContainerResponse",
- "type": "SCMCloseContainerResponseProto"
- },
- {
- "id": 13,
- "name": "pipelineResponse",
- "type": "PipelineResponseProto"
- },
- {
- "id": 14,
- "name": "listPipelineResponse",
- "type": "ListPipelineResponseProto"
- },
- {
- "id": 15,
- "name": "activatePipelineResponse",
- "type": "ActivatePipelineResponseProto"
- },
- {
- "id": 16,
- "name": "deactivatePipelineResponse",
- "type": "DeactivatePipelineResponseProto"
- },
- {
- "id": 17,
- "name": "closePipelineResponse",
- "type": "ClosePipelineResponseProto"
- },
- {
- "id": 18,
- "name": "getScmInfoResponse",
- "type": "GetScmInfoResponseProto"
- },
- {
- "id": 19,
- "name": "inSafeModeResponse",
- "type": "InSafeModeResponseProto"
- },
- {
- "id": 20,
- "name": "forceExitSafeModeResponse",
- "type": "ForceExitSafeModeResponseProto"
- },
- {
- "id": 21,
- "name": "startReplicationManagerResponse",
- "type": "StartReplicationManagerResponseProto"
- },
- {
- "id": 22,
- "name": "stopReplicationManagerResponse",
- "type": "StopReplicationManagerResponseProto"
- },
- {
- "id": 23,
- "name": "replicationManagerStatusResponse",
- "type": "ReplicationManagerStatusResponseProto"
- },
- {
- "id": 24,
- "name": "getPipelineResponse",
- "type": "GetPipelineResponseProto"
- },
- {
- "id": 25,
- "name": "getContainerWithPipelineBatchResponse",
- "type": "GetContainerWithPipelineBatchResponseProto"
- }
- ]
- },
- {
- "name": "ContainerRequestProto",
- "fields": [
- {
- "id": 2,
- "name": "replicationFactor",
- "type": "ReplicationFactor"
- },
- {
- "id": 3,
- "name": "replicationType",
- "type": "ReplicationType"
- },
- {
- "id": 4,
- "name": "owner",
- "type": "string"
- },
- {
- "id": 5,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "ContainerResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "errorCode",
- "type": "Error"
- },
- {
- "id": 2,
- "name": "containerWithPipeline",
- "type": "ContainerWithPipeline"
- },
- {
- "id": 3,
- "name": "errorMessage",
- "type": "string"
- }
- ]
- },
- {
- "name": "GetContainerRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "containerID",
- "type": "int64"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "GetContainerResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "containerInfo",
- "type": "ContainerInfoProto"
- }
- ]
- },
- {
- "name": "GetContainerWithPipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "containerID",
- "type": "int64"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "GetContainerWithPipelineResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "containerWithPipeline",
- "type": "ContainerWithPipeline"
- }
- ]
- },
- {
- "name": "GetContainerWithPipelineBatchRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "containerIDs",
- "type": "int64",
- "is_repeated": true
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "GetContainerWithPipelineBatchResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "containerWithPipelines",
- "type": "ContainerWithPipeline",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "SCMListContainerRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "count",
- "type": "uint32"
- },
- {
- "id": 2,
- "name": "startContainerID",
- "type": "uint64"
- },
- {
- "id": 3,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "SCMListContainerResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "containers",
- "type": "ContainerInfoProto",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "SCMDeleteContainerRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "containerID",
- "type": "int64"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "SCMDeleteContainerResponseProto"
- },
- {
- "name": "SCMCloseContainerRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "containerID",
- "type": "int64"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "SCMCloseContainerResponseProto"
- },
- {
- "name": "NodeQueryRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "state",
- "type": "NodeState"
- },
- {
- "id": 2,
- "name": "scope",
- "type": "QueryScope"
- },
- {
- "id": 3,
- "name": "poolName",
- "type": "string"
- },
- {
- "id": 4,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "NodeQueryResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "datanodes",
- "type": "Node",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "PipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "replicationType",
- "type": "ReplicationType"
- },
- {
- "id": 2,
- "name": "replicationFactor",
- "type": "ReplicationFactor"
- },
- {
- "id": 3,
- "name": "nodePool",
- "type": "NodePool"
- },
- {
- "id": 4,
- "name": "pipelineID",
- "type": "string"
- },
- {
- "id": 5,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "PipelineResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "errorCode",
- "type": "Error"
- },
- {
- "id": 2,
- "name": "pipeline",
- "type": "Pipeline"
- },
- {
- "id": 3,
- "name": "errorMessage",
- "type": "string"
- }
- ]
- },
- {
- "name": "ListPipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "ListPipelineResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "pipelines",
- "type": "Pipeline",
- "is_repeated": true
- }
- ]
- },
- {
- "name": "GetPipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "pipelineID",
- "type": "PipelineID"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "GetPipelineResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "pipeline",
- "type": "Pipeline"
- }
- ]
- },
- {
- "name": "ActivatePipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "pipelineID",
- "type": "PipelineID"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "ActivatePipelineResponseProto"
- },
- {
- "name": "DeactivatePipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "pipelineID",
- "type": "PipelineID"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "DeactivatePipelineResponseProto"
- },
- {
- "name": "ClosePipelineRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "pipelineID",
- "type": "PipelineID"
- },
- {
- "id": 2,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "ClosePipelineResponseProto"
- },
- {
- "name": "InSafeModeRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "InSafeModeResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "inSafeMode",
- "type": "bool"
- }
- ]
- },
- {
- "name": "ForceExitSafeModeRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "ForceExitSafeModeResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "exitedSafeMode",
- "type": "bool"
- }
- ]
- },
- {
- "name": "StartReplicationManagerRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "StartReplicationManagerResponseProto"
- },
- {
- "name": "StopReplicationManagerRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "StopReplicationManagerResponseProto"
- },
- {
- "name": "ReplicationManagerStatusRequestProto",
- "fields": [
- {
- "id": 1,
- "name": "traceID",
- "type": "string"
- }
- ]
- },
- {
- "name": "ReplicationManagerStatusResponseProto",
- "fields": [
- {
- "id": 1,
- "name": "isRunning",
- "type": "bool"
- }
- ]
- }
- ],
- "services": [
- {
- "name": "StorageContainerLocationProtocolService",
- "rpcs": [
- {
- "name": "submitRequest",
- "in_type": "ScmContainerLocationRequest",
- "out_type": "ScmContainerLocationResponse"
- }
- ]
- }
- ],
- "imports": [
- {
- "path": "hdds.proto"
- }
- ],
- "package": {
- "name": "hadoop.hdds.container"
- },
- "options": [
- {
- "name": "java_package",
- "value": "org.apache.hadoop.hdds.protocol.proto"
- },
- {
- "name": "java_outer_classname",
- "value": "StorageContainerLocationProtocolProtos"
- },
- {
- "name": "java_generic_services",
- "value": "true"
- },
- {
- "name": "java_generate_equals_and_hash",
- "value": "true"
- }
- ]
- }
- },
- {
"protopath": "hdds.proto",
"def": {
"enums": [
diff --git a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
b/hadoop-hdds/interface-server/dev-support/findbugsExcludeFile.xml
similarity index 89%
copy from hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
copy to hadoop-hdds/interface-server/dev-support/findbugsExcludeFile.xml
index df58f36..3571a89 100644
--- a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdds/interface-server/dev-support/findbugsExcludeFile.xml
@@ -1,4 +1,3 @@
-<?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
@@ -17,6 +16,6 @@
-->
<FindBugsFilter>
<Match>
- <Package name="org.apache.hadoop.ozone.protocol.proto"/>
+ <Package name="org.apache.hadoop.hdds.protocol.proto"/>
</Match>
</FindBugsFilter>
diff --git a/hadoop-hdds/interface-server/pom.xml
b/hadoop-hdds/interface-server/pom.xml
new file mode 100644
index 0000000..de6f980
--- /dev/null
+++ b/hadoop-hdds/interface-server/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed 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. See accompanying LICENSE file.
+-->
+<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
+https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>hadoop-hdds-interface-server</artifactId>
+ <version>0.6.0-SNAPSHOT</version>
+ <description>Apache Hadoop Distributed Data Store Server interface
+ </description>
+ <name>Apache Hadoop HDDS Server Interface</name>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <!-- required to use common hdds.proto -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.salesforce.servicelibs</groupId>
+ <artifactId>proto-backwards-compatibility</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>${protobuf-maven-plugin.version}</version>
+ <extensions>true</extensions>
+ <executions>
+ <execution>
+ <id>compile-protoc-2</id>
+ <goals>
+ <goal>compile</goal>
+ <goal>test-compile</goal>
+ </goals>
+ <configuration>
+ <protocArtifact>
+
com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
+ </protocArtifact>
+ <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
+ <outputDirectory>target/generated-sources/java</outputDirectory>
+ <clearOutputDirectory>false</clearOutputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.spotbugs</groupId>
+ <artifactId>spotbugs-maven-plugin</artifactId>
+ <configuration>
+
<excludeFilterFile>${basedir}/dev-support/findbugsExcludeFile.xml</excludeFilterFile>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git
a/hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto
b/hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
similarity index 100%
rename from
hadoop-hdds/container-service/src/main/proto/StorageContainerDatanodeProtocol.proto
rename to
hadoop-hdds/interface-server/src/main/proto/ScmServerDatanodeHeartbeatProtocol.proto
diff --git a/hadoop-hdds/common/src/main/proto/ScmBlockLocationProtocol.proto
b/hadoop-hdds/interface-server/src/main/proto/ScmServerProtocol.proto
similarity index 100%
rename from hadoop-hdds/common/src/main/proto/ScmBlockLocationProtocol.proto
rename to hadoop-hdds/interface-server/src/main/proto/ScmServerProtocol.proto
diff --git a/hadoop-hdds/common/src/main/proto/SCMSecurityProtocol.proto
b/hadoop-hdds/interface-server/src/main/proto/ScmServerSecurityProtocol.proto
similarity index 100%
rename from hadoop-hdds/common/src/main/proto/SCMSecurityProtocol.proto
rename to
hadoop-hdds/interface-server/src/main/proto/ScmServerSecurityProtocol.proto
diff --git a/hadoop-hdds/container-service/src/main/proto/proto.lock
b/hadoop-hdds/interface-server/src/main/proto/proto.lock
similarity index 59%
rename from hadoop-hdds/container-service/src/main/proto/proto.lock
rename to hadoop-hdds/interface-server/src/main/proto/proto.lock
index ac272e5..ce27bfb 100644
--- a/hadoop-hdds/container-service/src/main/proto/proto.lock
+++ b/hadoop-hdds/interface-server/src/main/proto/proto.lock
@@ -1,7 +1,7 @@
{
"definitions": [
{
- "protopath": "StorageContainerDatanodeProtocol.proto",
+ "protopath": "ScmServerDatanodeHeartbeatProtocol.proto",
"def": {
"enums": [
{
@@ -1065,6 +1065,718 @@
}
]
}
+ },
+ {
+ "protopath": "ScmServerProtocol.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "Type",
+ "enum_fields": [
+ {
+ "name": "AllocateScmBlock",
+ "integer": 11
+ },
+ {
+ "name": "DeleteScmKeyBlocks",
+ "integer": 12
+ },
+ {
+ "name": "GetScmInfo",
+ "integer": 13
+ },
+ {
+ "name": "SortDatanodes",
+ "integer": 14
+ }
+ ]
+ },
+ {
+ "name": "Status",
+ "enum_fields": [
+ {
+ "name": "OK",
+ "integer": 1
+ },
+ {
+ "name": "FAILED_TO_LOAD_NODEPOOL",
+ "integer": 2
+ },
+ {
+ "name": "FAILED_TO_FIND_NODE_IN_POOL",
+ "integer": 3
+ },
+ {
+ "name": "FAILED_TO_FIND_HEALTHY_NODES",
+ "integer": 4
+ },
+ {
+ "name": "FAILED_TO_FIND_NODES_WITH_SPACE",
+ "integer": 5
+ },
+ {
+ "name": "FAILED_TO_FIND_SUITABLE_NODE",
+ "integer": 6
+ },
+ {
+ "name": "INVALID_CAPACITY",
+ "integer": 7
+ },
+ {
+ "name": "INVALID_BLOCK_SIZE",
+ "integer": 8
+ },
+ {
+ "name": "SAFE_MODE_EXCEPTION",
+ "integer": 9
+ },
+ {
+ "name": "FAILED_TO_LOAD_OPEN_CONTAINER",
+ "integer": 10
+ },
+ {
+ "name": "FAILED_TO_ALLOCATE_CONTAINER",
+ "integer": 11
+ },
+ {
+ "name": "FAILED_TO_CHANGE_CONTAINER_STATE",
+ "integer": 12
+ },
+ {
+ "name": "FAILED_TO_CHANGE_PIPELINE_STATE",
+ "integer": 13
+ },
+ {
+ "name": "CONTAINER_EXISTS",
+ "integer": 14
+ },
+ {
+ "name": "FAILED_TO_FIND_CONTAINER",
+ "integer": 15
+ },
+ {
+ "name": "FAILED_TO_FIND_CONTAINER_WITH_SPACE",
+ "integer": 16
+ },
+ {
+ "name": "BLOCK_EXISTS",
+ "integer": 17
+ },
+ {
+ "name": "FAILED_TO_FIND_BLOCK",
+ "integer": 18
+ },
+ {
+ "name": "IO_EXCEPTION",
+ "integer": 19
+ },
+ {
+ "name": "UNEXPECTED_CONTAINER_STATE",
+ "integer": 20
+ },
+ {
+ "name": "SCM_NOT_INITIALIZED",
+ "integer": 21
+ },
+ {
+ "name": "DUPLICATE_DATANODE",
+ "integer": 22
+ },
+ {
+ "name": "NO_SUCH_DATANODE",
+ "integer": 23
+ },
+ {
+ "name": "NO_REPLICA_FOUND",
+ "integer": 24
+ },
+ {
+ "name": "FAILED_TO_FIND_ACTIVE_PIPELINE",
+ "integer": 25
+ },
+ {
+ "name": "FAILED_TO_INIT_CONTAINER_PLACEMENT_POLICY",
+ "integer": 26
+ },
+ {
+ "name": "FAILED_TO_ALLOCATE_ENOUGH_BLOCKS",
+ "integer": 27
+ },
+ {
+ "name": "INTERNAL_ERROR",
+ "integer": 29
+ }
+ ]
+ },
+ {
+ "name": "DeleteScmBlockResult.Result",
+ "enum_fields": [
+ {
+ "name": "success",
+ "integer": 1
+ },
+ {
+ "name": "safeMode",
+ "integer": 2
+ },
+ {
+ "name": "errorNotFound",
+ "integer": 3
+ },
+ {
+ "name": "unknownFailure",
+ "integer": 4
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "SCMBlockLocationRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cmdType",
+ "type": "Type"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "userInfo",
+ "type": "UserInfo"
+ },
+ {
+ "id": 11,
+ "name": "allocateScmBlockRequest",
+ "type": "AllocateScmBlockRequestProto"
+ },
+ {
+ "id": 12,
+ "name": "deleteScmKeyBlocksRequest",
+ "type": "DeleteScmKeyBlocksRequestProto"
+ },
+ {
+ "id": 13,
+ "name": "getScmInfoRequest",
+ "type": "hadoop.hdds.GetScmInfoRequestProto"
+ },
+ {
+ "id": 14,
+ "name": "sortDatanodesRequest",
+ "type": "SortDatanodesRequestProto"
+ }
+ ]
+ },
+ {
+ "name": "SCMBlockLocationResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cmdType",
+ "type": "Type"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "success",
+ "type": "bool",
+ "options": [
+ {
+ "name": "default",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "id": 4,
+ "name": "message",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "status",
+ "type": "Status"
+ },
+ {
+ "id": 6,
+ "name": "leaderOMNodeId",
+ "type": "string"
+ },
+ {
+ "id": 11,
+ "name": "allocateScmBlockResponse",
+ "type": "AllocateScmBlockResponseProto"
+ },
+ {
+ "id": 12,
+ "name": "deleteScmKeyBlocksResponse",
+ "type": "DeleteScmKeyBlocksResponseProto"
+ },
+ {
+ "id": 13,
+ "name": "getScmInfoResponse",
+ "type": "hadoop.hdds.GetScmInfoResponseProto"
+ },
+ {
+ "id": 14,
+ "name": "sortDatanodesResponse",
+ "type": "SortDatanodesResponseProto"
+ }
+ ]
+ },
+ {
+ "name": "UserInfo",
+ "fields": [
+ {
+ "id": 1,
+ "name": "userName",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "remoteAddress",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "AllocateScmBlockRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "size",
+ "type": "uint64"
+ },
+ {
+ "id": 2,
+ "name": "numBlocks",
+ "type": "uint32"
+ },
+ {
+ "id": 3,
+ "name": "type",
+ "type": "ReplicationType"
+ },
+ {
+ "id": 4,
+ "name": "factor",
+ "type": "hadoop.hdds.ReplicationFactor"
+ },
+ {
+ "id": 5,
+ "name": "owner",
+ "type": "string"
+ },
+ {
+ "id": 7,
+ "name": "excludeList",
+ "type": "ExcludeListProto"
+ }
+ ]
+ },
+ {
+ "name": "DeleteScmKeyBlocksRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "keyBlocks",
+ "type": "KeyBlocks",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "KeyBlocks",
+ "fields": [
+ {
+ "id": 1,
+ "name": "key",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "blocks",
+ "type": "BlockID",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "DeleteScmKeyBlocksResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "results",
+ "type": "DeleteKeyBlocksResultProto",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "DeleteKeyBlocksResultProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "objectKey",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "blockResults",
+ "type": "DeleteScmBlockResult",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "DeleteScmBlockResult",
+ "fields": [
+ {
+ "id": 1,
+ "name": "result",
+ "type": "Result"
+ },
+ {
+ "id": 2,
+ "name": "blockID",
+ "type": "BlockID"
+ }
+ ]
+ },
+ {
+ "name": "AllocateBlockResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "containerBlockID",
+ "type": "ContainerBlockID"
+ },
+ {
+ "id": 2,
+ "name": "pipeline",
+ "type": "hadoop.hdds.Pipeline"
+ }
+ ]
+ },
+ {
+ "name": "AllocateScmBlockResponseProto",
+ "fields": [
+ {
+ "id": 3,
+ "name": "blocks",
+ "type": "AllocateBlockResponse",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "SortDatanodesRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "client",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "nodeNetworkName",
+ "type": "string",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "SortDatanodesResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "node",
+ "type": "DatanodeDetailsProto",
+ "is_repeated": true
+ }
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "ScmBlockLocationProtocolService",
+ "rpcs": [
+ {
+ "name": "send",
+ "in_type": "SCMBlockLocationRequest",
+ "out_type": "SCMBlockLocationResponse"
+ }
+ ]
+ }
+ ],
+ "imports": [
+ {
+ "path": "hdds.proto"
+ }
+ ],
+ "package": {
+ "name": "hadoop.hdds.block"
+ },
+ "options": [
+ {
+ "name": "java_package",
+ "value": "org.apache.hadoop.hdds.protocol.proto"
+ },
+ {
+ "name": "java_outer_classname",
+ "value": "ScmBlockLocationProtocolProtos"
+ },
+ {
+ "name": "java_generic_services",
+ "value": "true"
+ },
+ {
+ "name": "java_generate_equals_and_hash",
+ "value": "true"
+ }
+ ]
+ }
+ },
+ {
+ "protopath": "ScmServerSecurityProtocol.proto",
+ "def": {
+ "enums": [
+ {
+ "name": "Type",
+ "enum_fields": [
+ {
+ "name": "GetDataNodeCertificate",
+ "integer": 1
+ },
+ {
+ "name": "GetOMCertificate",
+ "integer": 2
+ },
+ {
+ "name": "GetCertificate",
+ "integer": 3
+ },
+ {
+ "name": "GetCACertificate",
+ "integer": 4
+ }
+ ]
+ },
+ {
+ "name": "Status",
+ "enum_fields": [
+ {
+ "name": "OK",
+ "integer": 1
+ }
+ ]
+ },
+ {
+ "name": "SCMGetCertResponseProto.ResponseCode",
+ "enum_fields": [
+ {
+ "name": "success",
+ "integer": 1
+ },
+ {
+ "name": "authenticationFailed",
+ "integer": 2
+ },
+ {
+ "name": "invalidCSR",
+ "integer": 3
+ }
+ ]
+ }
+ ],
+ "messages": [
+ {
+ "name": "SCMSecurityRequest",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cmdType",
+ "type": "Type"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "getDataNodeCertRequest",
+ "type": "SCMGetDataNodeCertRequestProto"
+ },
+ {
+ "id": 4,
+ "name": "getOMCertRequest",
+ "type": "SCMGetOMCertRequestProto"
+ },
+ {
+ "id": 5,
+ "name": "getCertificateRequest",
+ "type": "SCMGetCertificateRequestProto"
+ },
+ {
+ "id": 6,
+ "name": "getCACertificateRequest",
+ "type": "SCMGetCACertificateRequestProto"
+ }
+ ]
+ },
+ {
+ "name": "SCMSecurityResponse",
+ "fields": [
+ {
+ "id": 1,
+ "name": "cmdType",
+ "type": "Type"
+ },
+ {
+ "id": 2,
+ "name": "traceID",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "success",
+ "type": "bool",
+ "options": [
+ {
+ "name": "default",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "id": 4,
+ "name": "message",
+ "type": "string"
+ },
+ {
+ "id": 5,
+ "name": "status",
+ "type": "Status"
+ },
+ {
+ "id": 6,
+ "name": "getCertResponseProto",
+ "type": "SCMGetCertResponseProto"
+ }
+ ]
+ },
+ {
+ "name": "SCMGetDataNodeCertRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "datanodeDetails",
+ "type": "DatanodeDetailsProto"
+ },
+ {
+ "id": 2,
+ "name": "CSR",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "SCMGetOMCertRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "omDetails",
+ "type": "OzoneManagerDetailsProto"
+ },
+ {
+ "id": 2,
+ "name": "CSR",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "SCMGetCertificateRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "certSerialId",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "SCMGetCACertificateRequestProto"
+ },
+ {
+ "name": "SCMGetCertResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "responseCode",
+ "type": "ResponseCode"
+ },
+ {
+ "id": 2,
+ "name": "x509Certificate",
+ "type": "string"
+ },
+ {
+ "id": 3,
+ "name": "x509CACertificate",
+ "type": "string"
+ }
+ ]
+ }
+ ],
+ "services": [
+ {
+ "name": "SCMSecurityProtocolService",
+ "rpcs": [
+ {
+ "name": "submitRequest",
+ "in_type": "SCMSecurityRequest",
+ "out_type": "SCMSecurityResponse"
+ }
+ ]
+ }
+ ],
+ "imports": [
+ {
+ "path": "hdds.proto"
+ }
+ ],
+ "package": {
+ "name": "hadoop.hdds.security"
+ },
+ "options": [
+ {
+ "name": "java_package",
+ "value": "org.apache.hadoop.hdds.protocol.proto"
+ },
+ {
+ "name": "java_outer_classname",
+ "value": "SCMSecurityProtocolProtos"
+ },
+ {
+ "name": "java_generic_services",
+ "value": "true"
+ },
+ {
+ "name": "java_generate_equals_and_hash",
+ "value": "true"
+ }
+ ]
+ }
}
]
}
\ No newline at end of file
diff --git a/hadoop-hdds/pom.xml b/hadoop-hdds/pom.xml
index 92c3f39..ac854d4 100644
--- a/hadoop-hdds/pom.xml
+++ b/hadoop-hdds/pom.xml
@@ -33,6 +33,9 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<module>hadoop-dependency-client</module>
<module>hadoop-dependency-test</module>
<module>hadoop-dependency-server</module>
+ <module>interface-client</module>
+ <module>interface-admin</module>
+ <module>interface-server</module>
<module>client</module>
<module>common</module>
<module>framework</module>
@@ -87,6 +90,24 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependency>
<groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-server</artifactId>
+ <version>${hdds.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ <version>${hdds.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-admin</artifactId>
+ <version>${hdds.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdds-client</artifactId>
<version>${hdds.version}</version>
</dependency>
diff --git a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
b/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
index df58f36..33e72fc 100644
--- a/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-ozone/common/dev-support/findbugsExcludeFile.xml
@@ -19,4 +19,7 @@
<Match>
<Package name="org.apache.hadoop.ozone.protocol.proto"/>
</Match>
+ <Match>
+ <Package name="org.apache.hadoop.security.proto"/>
+ </Match>
</FindBugsFilter>
diff --git a/hadoop-ozone/common/pom.xml b/hadoop-ozone/common/pom.xml
index 0c02085..4d84337 100644
--- a/hadoop-ozone/common/pom.xml
+++ b/hadoop-ozone/common/pom.xml
@@ -100,12 +100,7 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<goal>test-compile</goal>
</goals>
<configuration>
- <additionalProtoPathElements>
- <param>
- ${basedir}/../../hadoop-hdds/common/src/main/proto/
- </param>
- <param>${basedir}/src/main/proto</param>
- </additionalProtoPathElements>
+ <protoSourceRoot>${basedir}/src/main/proto/</protoSourceRoot>
<protocArtifact>
com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}
</protocArtifact>
diff --git a/hadoop-hdds/common/src/main/proto/Security.proto
b/hadoop-ozone/common/src/main/proto/Security.proto
similarity index 100%
rename from hadoop-hdds/common/src/main/proto/Security.proto
rename to hadoop-ozone/common/src/main/proto/Security.proto
diff --git a/hadoop-ozone/common/src/main/proto/proto.lock
b/hadoop-ozone/common/src/main/proto/proto.lock
index 0de831c..01eedd0 100644
--- a/hadoop-ozone/common/src/main/proto/proto.lock
+++ b/hadoop-ozone/common/src/main/proto/proto.lock
@@ -3235,6 +3235,149 @@
}
]
}
+ },
+ {
+ "protopath": "Security.proto",
+ "def": {
+ "messages": [
+ {
+ "name": "TokenProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "identifier",
+ "type": "bytes"
+ },
+ {
+ "id": 2,
+ "name": "password",
+ "type": "bytes"
+ },
+ {
+ "id": 3,
+ "name": "kind",
+ "type": "string"
+ },
+ {
+ "id": 4,
+ "name": "service",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "CredentialsKVProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "alias",
+ "type": "string"
+ },
+ {
+ "id": 2,
+ "name": "token",
+ "type": "hadoop.common.TokenProto"
+ },
+ {
+ "id": 3,
+ "name": "secret",
+ "type": "bytes"
+ }
+ ]
+ },
+ {
+ "name": "CredentialsProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "tokens",
+ "type": "hadoop.common.CredentialsKVProto",
+ "is_repeated": true
+ },
+ {
+ "id": 2,
+ "name": "secrets",
+ "type": "hadoop.common.CredentialsKVProto",
+ "is_repeated": true
+ }
+ ]
+ },
+ {
+ "name": "GetDelegationTokenRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "renewer",
+ "type": "string"
+ }
+ ]
+ },
+ {
+ "name": "GetDelegationTokenResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "token",
+ "type": "hadoop.common.TokenProto"
+ }
+ ]
+ },
+ {
+ "name": "RenewDelegationTokenRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "token",
+ "type": "hadoop.common.TokenProto"
+ }
+ ]
+ },
+ {
+ "name": "RenewDelegationTokenResponseProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "newExpiryTime",
+ "type": "uint64"
+ }
+ ]
+ },
+ {
+ "name": "CancelDelegationTokenRequestProto",
+ "fields": [
+ {
+ "id": 1,
+ "name": "token",
+ "type": "hadoop.common.TokenProto"
+ }
+ ]
+ },
+ {
+ "name": "CancelDelegationTokenResponseProto"
+ }
+ ],
+ "package": {
+ "name": "hadoop.common"
+ },
+ "options": [
+ {
+ "name": "java_package",
+ "value": "org.apache.hadoop.security.proto"
+ },
+ {
+ "name": "java_outer_classname",
+ "value": "SecurityProtos"
+ },
+ {
+ "name": "java_generic_services",
+ "value": "true"
+ },
+ {
+ "name": "java_generate_equals_and_hash",
+ "value": "true"
+ }
+ ]
+ }
}
]
}
\ No newline at end of file
diff --git a/hadoop-ozone/ozone-manager/pom.xml
b/hadoop-ozone/ozone-manager/pom.xml
index 9f02e79..9b87af6 100644
--- a/hadoop-ozone/ozone-manager/pom.xml
+++ b/hadoop-ozone/ozone-manager/pom.xml
@@ -45,6 +45,12 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
<artifactId>hadoop-hdds-docs</artifactId>
</dependency>
+ <!-- hdds.proto and generated files are required from there -->
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdds-test-utils</artifactId>
diff --git a/hadoop-ozone/pom.xml b/hadoop-ozone/pom.xml
index 6cedbce..bad680d 100644
--- a/hadoop-ozone/pom.xml
+++ b/hadoop-ozone/pom.xml
@@ -123,6 +123,11 @@
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdds-interface-client</artifactId>
+ <version>${hdds.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdds-test-utils</artifactId>
<version>${hdds.version}</version>
<scope>test</scope>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]