This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new c89587366e1 HDDS-15247. Remove unused ProtocolMetaInterface, 
VersionedProtocol (#10247)
c89587366e1 is described below

commit c89587366e173c385759fb81d93d3cd84d553dbf
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Fri May 15 16:06:34 2026 +0200

    HDDS-15247. Remove unused ProtocolMetaInterface, VersionedProtocol (#10247)
---
 .../org/apache/hadoop/ipc_/ProtobufRpcEngine.java  |  15 +-
 .../org/apache/hadoop/ipc_/ProtocolMetaInfoPB.java |  34 ---
 .../ProtocolMetaInfoServerSideTranslatorPB.java    | 121 ----------
 .../apache/hadoop/ipc_/ProtocolMetaInterface.java  |  38 ----
 .../java/org/apache/hadoop/ipc_/ProtocolProxy.java |  82 +------
 .../org/apache/hadoop/ipc_/ProtocolSignature.java  | 253 ---------------------
 .../src/main/java/org/apache/hadoop/ipc_/RPC.java  |  70 ------
 .../java/org/apache/hadoop/ipc_/RpcClientUtil.java | 241 --------------------
 .../java/org/apache/hadoop/ipc_/RpcEngine.java     |  12 -
 .../org/apache/hadoop/ipc_/VersionedProtocol.java  |  54 -----
 ...DiskBalancerProtocolClientSideTranslatorPB.java |  13 +-
 .../ReconfigureProtocolClientSideTranslatorPB.java |  13 +-
 .../src/main/proto/ProtocolInfo.proto              |  89 --------
 13 files changed, 9 insertions(+), 1026 deletions(-)

diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtobufRpcEngine.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtobufRpcEngine.java
index d7d2d88259c..c2b7c4a01fc 100644
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtobufRpcEngine.java
+++ 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtobufRpcEngine.java
@@ -72,7 +72,7 @@ public <T> ProtocolProxy<T> getProxy(Class<T> protocol, long 
clientVersion,
       throws IOException {
     final Invoker invoker = new Invoker(protocol, connId, conf, factory);
     return new ProtocolProxy<T>(protocol, (T) Proxy.newProxyInstance(
-        protocol.getClassLoader(), new Class[] {protocol}, invoker), false);
+        protocol.getClassLoader(), new Class[] {protocol}, invoker));
   }
 
   public <T> ProtocolProxy<T> getProxy(Class<T> protocol, long clientVersion,
@@ -103,18 +103,7 @@ public <T> ProtocolProxy<T> getProxy(Class<T> protocol, 
long clientVersion,
         rpcTimeout, connectionRetryPolicy, fallbackToSimpleAuth,
         alignmentContext);
     return new ProtocolProxy<T>(protocol, (T) Proxy.newProxyInstance(
-        protocol.getClassLoader(), new Class[]{protocol}, invoker), false);
-  }
-  
-  @Override
-  public ProtocolProxy<ProtocolMetaInfoPB> getProtocolMetaInfoProxy(
-      ConnectionId connId, Configuration conf, SocketFactory factory)
-      throws IOException {
-    Class<ProtocolMetaInfoPB> protocol = ProtocolMetaInfoPB.class;
-    return new ProtocolProxy<ProtocolMetaInfoPB>(protocol,
-        (ProtocolMetaInfoPB) Proxy.newProxyInstance(protocol.getClassLoader(),
-            new Class[] { protocol }, new Invoker(protocol, connId, conf,
-                factory)), false);
+        protocol.getClassLoader(), new Class[]{protocol}, invoker));
   }
 
   protected static class Invoker implements RpcInvocationHandler {
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInfoPB.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInfoPB.java
deleted file mode 100644
index 8dc7138c2d7..00000000000
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInfoPB.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.ipc_;
-
-import org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.ProtocolInfoService;
-
-/**
- * Protocol to get versions and signatures for supported protocols from the
- * server.
- * 
- * Note: This extends the protocolbuffer service based interface to
- * add annotations.
- */
-@ProtocolInfo(
-    protocolName = "org.apache.hadoop.ipc_.ProtocolMetaInfoPB", 
-    protocolVersion = 1)
-public interface ProtocolMetaInfoPB extends
-    ProtocolInfoService.BlockingInterface {
-}
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInfoServerSideTranslatorPB.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInfoServerSideTranslatorPB.java
deleted file mode 100644
index 1e07877325f..00000000000
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInfoServerSideTranslatorPB.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.ipc_;
-
-import org.apache.hadoop.ipc_.RPC.Server.VerProtocolImpl;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.GetProtocolSignatureResponseProto;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.GetProtocolVersionsRequestProto;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.GetProtocolVersionsResponseProto;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.ProtocolSignatureProto;
-import org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.ProtocolVersionProto;
-
-import com.google.protobuf.RpcController;
-import com.google.protobuf.ServiceException;
-
-/**
- * This class serves the requests for protocol versions and signatures by
- * looking them up in the server registry.
- */
-public class ProtocolMetaInfoServerSideTranslatorPB implements
-    ProtocolMetaInfoPB {
-
-  RPC.Server server;
-  
-  public ProtocolMetaInfoServerSideTranslatorPB(RPC.Server server) {
-    this.server = server;
-  }
-  
-  @Override
-  public GetProtocolVersionsResponseProto getProtocolVersions(
-      RpcController controller, GetProtocolVersionsRequestProto request)
-      throws ServiceException {
-    String protocol = request.getProtocol();
-    GetProtocolVersionsResponseProto.Builder builder = 
-        GetProtocolVersionsResponseProto.newBuilder();
-    for (RPC.RpcKind r : RPC.RpcKind.values()) {
-      long[] versions;
-      try {
-        versions = getProtocolVersionForRpcKind(r, protocol);
-      } catch (ClassNotFoundException e) {
-        throw new ServiceException(e);
-      }
-      ProtocolVersionProto.Builder b = ProtocolVersionProto.newBuilder();
-      if (versions != null) {
-        b.setRpcKind(r.toString());
-        for (long v : versions) {
-          b.addVersions(v);
-        }
-      }
-      builder.addProtocolVersions(b.build());
-    }
-    return builder.build();
-  }
-
-  @Override
-  public GetProtocolSignatureResponseProto getProtocolSignature(
-      RpcController controller, GetProtocolSignatureRequestProto request)
-      throws ServiceException {
-    GetProtocolSignatureResponseProto.Builder builder = 
GetProtocolSignatureResponseProto
-        .newBuilder();
-    String protocol = request.getProtocol();
-    String rpcKind = request.getRpcKind();
-    long[] versions;
-    try {
-      versions = getProtocolVersionForRpcKind(RPC.RpcKind.valueOf(rpcKind),
-          protocol);
-    } catch (ClassNotFoundException e1) {
-      throw new ServiceException(e1);
-    }
-    if (versions == null) {
-      return builder.build();
-    }
-    for (long v : versions) {
-      ProtocolSignatureProto.Builder sigBuilder = ProtocolSignatureProto
-          .newBuilder();
-      sigBuilder.setVersion(v);
-      try {
-        ProtocolSignature signature = ProtocolSignature.getProtocolSignature(
-            protocol, v);
-        for (int m : signature.getMethods()) {
-          sigBuilder.addMethods(m);
-        }
-      } catch (ClassNotFoundException e) {
-        throw new ServiceException(e);
-      }
-      builder.addProtocolSignature(sigBuilder.build());
-    }
-    return builder.build();
-  }
-  
-  private long[] getProtocolVersionForRpcKind(RPC.RpcKind rpcKind,
-      String protocol) throws ClassNotFoundException {
-    Class<?> protocolClass = Class.forName(protocol);
-    String protocolName = RPC.getProtocolName(protocolClass);
-    VerProtocolImpl[] vers = server.getSupportedProtocolVersions(rpcKind,
-        protocolName);
-    if (vers == null) {
-      return null;
-    }
-    long [] versions = new long[vers.length];
-    for (int i=0; i<versions.length; i++) {
-      versions[i] = vers[i].version;
-    }
-    return versions;
-  }
-}
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInterface.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInterface.java
deleted file mode 100644
index bcf4675d844..00000000000
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolMetaInterface.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.ipc_;
-
-import java.io.IOException;
-
-
-/**
- * This interface is implemented by the client side translators and can be used
- * to obtain information about underlying protocol e.g. to check if a method is
- * supported on the server side.
- */
-public interface ProtocolMetaInterface {
-  
-  /**
-   * Checks whether the given method name is supported by the server.
-   * It is assumed that all method names are unique for a protocol.
-   * @param methodName The name of the method
-   * @return true if method is supported, otherwise false.
-   * @throws IOException raised on errors performing I/O.
-   */
-  public boolean isMethodSupported(String methodName) throws IOException;
-}
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolProxy.java 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolProxy.java
index 0fdd06ee47b..388bf199ccd 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolProxy.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolProxy.java
@@ -18,63 +18,22 @@
 
 package org.apache.hadoop.ipc_;
 
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.HashSet;
-
-
 /**
  * a class wraps around a server's proxy, 
- * containing a list of its supported methods.
- * 
- * A list of methods with a value of null indicates that the client and server
- * have the same protocol.
  */
 public class ProtocolProxy<T> {
   private Class<T> protocol;
-  private T proxy;
-  private HashSet<Integer> serverMethods = null;
-  final private boolean supportServerMethodCheck;
-  private boolean serverMethodsFetched = false;
-  
+  private final T proxy;
+
   /**
    * Constructor
    * 
    * @param protocol protocol class
    * @param proxy its proxy
-   * @param supportServerMethodCheck If false proxy will never fetch server
-   *        methods and isMethodSupported will always return true. If true,
-   *        server methods will be fetched for the first call to 
-   *        isMethodSupported. 
    */
-  public ProtocolProxy(Class<T> protocol, T proxy,
-      boolean supportServerMethodCheck) {
+  public ProtocolProxy(Class<T> protocol, T proxy) {
     this.protocol = protocol;
     this.proxy = proxy;
-    this.supportServerMethodCheck = supportServerMethodCheck;
-  }
-  
-  private void fetchServerMethods(Method method) throws IOException {
-    long clientVersion;
-    clientVersion = RPC.getProtocolVersion(method.getDeclaringClass());
-    int clientMethodsHash = ProtocolSignature.getFingerprint(method
-        .getDeclaringClass().getMethods());
-    ProtocolSignature serverInfo = ((VersionedProtocol) proxy)
-        .getProtocolSignature(RPC.getProtocolName(protocol), clientVersion,
-            clientMethodsHash);
-    long serverVersion = serverInfo.getVersion();
-    if (serverVersion != clientVersion) {
-      throw new RPC.VersionMismatch(protocol.getName(), clientVersion,
-          serverVersion);
-    }
-    int[] serverMethodsCodes = serverInfo.getMethods();
-    if (serverMethodsCodes != null) {
-      serverMethods = new HashSet<Integer>(serverMethodsCodes.length);
-      for (int m : serverMethodsCodes) {
-        this.serverMethods.add(Integer.valueOf(m));
-      }
-    }
-    serverMethodsFetched = true;
   }
 
   /*
@@ -83,36 +42,5 @@ private void fetchServerMethods(Method method) throws 
IOException {
   public T getProxy() {
     return proxy;
   }
-  
-  /**
-   * Check if a method is supported by the server or not.
-   * 
-   * @param methodName a method's name in String format
-   * @param parameterTypes a method's parameter types
-   * @return true if the method is supported by the server
-   * @throws IOException raised on errors performing I/O.
-   */
-  public synchronized boolean isMethodSupported(String methodName,
-                                   Class<?>... parameterTypes)
-  throws IOException {
-    if (!supportServerMethodCheck) {
-      return true;
-    }
-    Method method;
-    try {
-      method = protocol.getDeclaredMethod(methodName, parameterTypes);
-    } catch (SecurityException e) {
-      throw new IOException(e);
-    } catch (NoSuchMethodException e) {
-      throw new IOException(e);
-    }
-    if (!serverMethodsFetched) {
-      fetchServerMethods(method);
-    }
-    if (serverMethods == null) { // client & server have the same protocol
-      return true;
-    }
-    return serverMethods.contains(
-        Integer.valueOf(ProtocolSignature.getFingerprint(method)));
-  }
-}
\ No newline at end of file
+
+}
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolSignature.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolSignature.java
deleted file mode 100644
index 370002e3ad7..00000000000
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/ProtocolSignature.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.ipc_;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.HashMap;
-
-import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.io.WritableFactories;
-import org.apache.hadoop.io.WritableFactory;
-
-
-public class ProtocolSignature implements Writable {
-  static {               // register a ctor
-    WritableFactories.setFactory
-      (ProtocolSignature.class,
-       new WritableFactory() {
-         @Override
-        public Writable newInstance() { return new ProtocolSignature(); }
-       });
-  }
-
-  private long version;
-  private int[] methods = null; // an array of method hash codes
-  
-  /**
-   * default constructor
-   */
-  public ProtocolSignature() {
-  }
-  
-  /**
-   * Constructor
-   * 
-   * @param version server version
-   * @param methodHashcodes hash codes of the methods supported by server
-   */
-  public ProtocolSignature(long version, int[] methodHashcodes) {
-    this.version = version;
-    this.methods = methodHashcodes;
-  }
-  
-  public long getVersion() {
-    return version;
-  }
-  
-  public int[] getMethods() {
-    return methods;
-  }
-
-  @Override
-  public void readFields(DataInput in) throws IOException {
-    version = in.readLong();
-    boolean hasMethods = in.readBoolean();
-    if (hasMethods) {
-      int numMethods = in.readInt();
-      methods = new int[numMethods];
-      for (int i=0; i<numMethods; i++) {
-        methods[i] = in.readInt();
-      }
-    }
-  }
-
-  @Override
-  public void write(DataOutput out) throws IOException {
-    out.writeLong(version);
-    if (methods == null) {
-      out.writeBoolean(false);
-    } else {
-      out.writeBoolean(true);
-      out.writeInt(methods.length);
-      for (int method : methods) {
-        out.writeInt(method);
-      }
-    }
-  }
-
-  /**
-   * Calculate a method's hash code considering its method
-   * name, returning type, and its parameter types
-   * 
-   * @param method a method
-   * @return its hash code
-   */
-  static int getFingerprint(Method method) {
-    int hashcode = method.getName().hashCode();
-    hashcode =  hashcode + 31*method.getReturnType().getName().hashCode();
-    for (Class<?> type : method.getParameterTypes()) {
-      hashcode = 31*hashcode ^ type.getName().hashCode();
-    }
-    return hashcode;
-  }
-
-  /**
-   * Convert an array of Method into an array of hash codes
-   * 
-   * @param methods
-   * @return array of hash codes
-   */
-  private static int[] getFingerprints(Method[] methods) {
-    if (methods == null) {
-      return null;
-    }
-    int[] hashCodes = new int[methods.length];
-    for (int i = 0; i<methods.length; i++) {
-      hashCodes[i] = getFingerprint(methods[i]);
-    }
-    return hashCodes;
-  }
-
-  /**
-   * Get the hash code of an array of methods
-   * Methods are sorted before hashcode is calculated.
-   * So the returned value is irrelevant of the method order in the array.
-   * 
-   * @param methods an array of methods
-   * @return the hash code
-   */
-  static int getFingerprint(Method[] methods) {
-    return getFingerprint(getFingerprints(methods));
-  }
-  
-  /**
-   * Get the hash code of an array of hashcodes
-   * Hashcodes are sorted before hashcode is calculated.
-   * So the returned value is irrelevant of the hashcode order in the array.
-   * 
-   * @param methods an array of methods
-   * @return the hash code
-   */
-  static int getFingerprint(int[] hashcodes) {
-    Arrays.sort(hashcodes);
-    return Arrays.hashCode(hashcodes);
-    
-  }
-  private static class ProtocolSigFingerprint {
-    private ProtocolSignature signature;
-    private int fingerprint;
-    
-    ProtocolSigFingerprint(ProtocolSignature sig, int fingerprint) {
-      this.signature = sig;
-      this.fingerprint = fingerprint;
-    }
-  }
-  
-  /**
-   * A cache that maps a protocol's name to its signature & finger print
-   */
-  private final static HashMap<String, ProtocolSigFingerprint> 
-     PROTOCOL_FINGERPRINT_CACHE = 
-       new HashMap<String, ProtocolSigFingerprint>();
-  
-  public static void resetCache() {
-    PROTOCOL_FINGERPRINT_CACHE.clear();
-  }
-  
-  /**
-   * Return a protocol's signature and finger print from cache
-   * 
-   * @param protocol a protocol class
-   * @param serverVersion protocol version
-   * @return its signature and finger print
-   */
-  private static ProtocolSigFingerprint getSigFingerprint(
-      Class <?> protocol, long serverVersion) {
-    String protocolName = RPC.getProtocolName(protocol);
-    synchronized (PROTOCOL_FINGERPRINT_CACHE) {
-      ProtocolSigFingerprint sig = 
PROTOCOL_FINGERPRINT_CACHE.get(protocolName);
-      if (sig == null) {
-        int[] serverMethodHashcodes = getFingerprints(protocol.getMethods());
-        sig = new ProtocolSigFingerprint(
-            new ProtocolSignature(serverVersion, serverMethodHashcodes),
-            getFingerprint(serverMethodHashcodes));
-        PROTOCOL_FINGERPRINT_CACHE.put(protocolName, sig);
-      }
-      return sig;    
-    }
-  }
-  
-  /**
-   * Get a server protocol's signature
-   * 
-   * @param clientMethodsHashCode client protocol methods hashcode
-   * @param serverVersion server protocol version
-   * @param protocol protocol
-   * @return the server's protocol signature
-   */
-  public static ProtocolSignature getProtocolSignature(
-      int clientMethodsHashCode,
-      long serverVersion,
-      Class<? extends VersionedProtocol> protocol) {
-    // try to get the finger print & signature from the cache
-    ProtocolSigFingerprint sig = getSigFingerprint(protocol, serverVersion);
-    
-    // check if the client side protocol matches the one on the server side
-    if (clientMethodsHashCode == sig.fingerprint) {
-      return new ProtocolSignature(serverVersion, null);  // null indicates a 
match
-    } 
-    
-    return sig.signature;
-  }
-  
-  public static ProtocolSignature getProtocolSignature(String protocolName,
-      long version) throws ClassNotFoundException {
-    Class<?> protocol = Class.forName(protocolName);
-    return getSigFingerprint(protocol, version).signature;
-  }
-  
-  /**
-   * Get a server protocol's signature
-   *
-   * @param server server implementation
-   * @param protocol server protocol
-   * @param clientVersion client's version
-   * @param clientMethodsHash client's protocol's hash code
-   * @return the server protocol's signature
-   * @throws IOException if any error occurs
-   */
-  @SuppressWarnings("unchecked")
-  public static ProtocolSignature getProtocolSignature(VersionedProtocol 
server,
-      String protocol,
-      long clientVersion, int clientMethodsHash) throws IOException {
-    Class<? extends VersionedProtocol> inter;
-    try {
-      inter = (Class<? extends VersionedProtocol>)Class.forName(protocol);
-    } catch (Exception e) {
-      throw new IOException(e);
-    }
-    long serverVersion = server.getProtocolVersion(protocol, clientVersion);
-    return ProtocolSignature.getProtocolSignature(
-        clientMethodsHash, serverVersion, inter);
-  }
-}
diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RPC.java 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RPC.java
index 8f6711ccb84..610bdbac1a3 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RPC.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RPC.java
@@ -30,8 +30,6 @@
 import java.net.SocketTimeoutException;
 import java.io.Closeable;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -45,7 +43,6 @@
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.retry.RetryPolicy;
 import org.apache.hadoop.ipc_.Client.ConnectionId;
-import org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.ProtocolInfoService;
 import 
org.apache.hadoop.ipc_.protobuf.RpcHeaderProtos.RpcResponseHeaderProto.RpcErrorCodeProto;
 import 
org.apache.hadoop.ipc_.protobuf.RpcHeaderProtos.RpcResponseHeaderProto.RpcStatusProto;
 import org.apache.hadoop.net.NetUtils;
@@ -57,7 +54,6 @@
 import org.apache.hadoop.util.ReflectionUtils;
 import org.apache.hadoop.util.Time;
 
-import com.google.protobuf.BlockingService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -109,38 +105,7 @@ public Writable call(Server server, String protocol,
   }
   
   static final Logger LOG = LoggerFactory.getLogger(RPC.class);
-  
-  /**
-   * Get all superInterfaces that extend VersionedProtocol
-   * @param childInterfaces
-   * @return the super interfaces that extend VersionedProtocol
-   */
-  static Class<?>[] getSuperInterfaces(Class<?>[] childInterfaces) {
-    List<Class<?>> allInterfaces = new ArrayList<Class<?>>();
 
-    for (Class<?> childInterface : childInterfaces) {
-      if (VersionedProtocol.class.isAssignableFrom(childInterface)) {
-          allInterfaces.add(childInterface);
-          allInterfaces.addAll(
-              Arrays.asList(
-                  getSuperInterfaces(childInterface.getInterfaces())));
-      } else {
-        LOG.warn("Interface " + childInterface +
-              " ignored because it does not extend VersionedProtocol");
-      }
-    }
-    return allInterfaces.toArray(new Class[allInterfaces.size()]);
-  }
-  
-  /**
-   * Get all interfaces that the given protocol implements or extends
-   * which are assignable from VersionedProtocol.
-   */
-  static Class<?>[] getProtocolInterfaces(Class<?> protocol) {
-    Class<?>[] interfaces  = protocol.getInterfaces();
-    return getSuperInterfaces(interfaces);
-  }
-  
   /**
    * Get the protocol name.
    *  If the protocol class has a ProtocolAnnotation, then get the protocol
@@ -536,29 +501,6 @@ public static <T> ProtocolProxy<T> 
getProtocolProxy(Class<T> protocol,
         factory, getRpcTimeout(conf), null);
   }
 
-  /**
-   * Get a protocol proxy that contains a proxy connection to a remote server
-   * and a set of methods that are supported by the server.
-   *
-   * @param <T> Generics Type T
-   * @param protocol protocol class
-   * @param clientVersion client's version
-   * @param connId client connection identifier
-   * @param conf configuration
-   * @param factory socket factory
-   * @return the protocol proxy
-   * @throws IOException if the far end through a RemoteException
-   */
-  public static <T> ProtocolProxy<T> getProtocolProxy(Class<T> protocol,
-      long clientVersion, ConnectionId connId, Configuration conf,
-      SocketFactory factory) throws IOException {
-    if (UserGroupInformation.isSecurityEnabled()) {
-      SaslRpcServer.init(conf);
-    }
-    return getProtocolEngine(protocol, conf).getProxy(
-        protocol, clientVersion, connId, conf, factory);
-  }
-  
   /**
    * Construct a client-side proxy that implements the named protocol,
    * talking to a server at the named address.
@@ -1143,18 +1085,6 @@ protected Server(String bindAddress, int port,
                      String portRangeConfig) throws IOException {
       super(bindAddress, port, paramClass, handlerCount, numReaders, 
queueSizePerHandler,
             conf, serverName, secretManager, portRangeConfig);
-      initProtocolMetaInfo(conf);
-    }
-    
-    private void initProtocolMetaInfo(Configuration conf) {
-      RPC.setProtocolEngine(conf, ProtocolMetaInfoPB.class,
-          ProtobufRpcEngine.class);
-      ProtocolMetaInfoServerSideTranslatorPB xlator = 
-          new ProtocolMetaInfoServerSideTranslatorPB(this);
-      BlockingService protocolInfoBlockingService = ProtocolInfoService
-          .newReflectiveBlockingService(xlator);
-      addProtocol(RpcKind.RPC_PROTOCOL_BUFFER, ProtocolMetaInfoPB.class,
-          protocolInfoBlockingService);
     }
     
     /**
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcClientUtil.java 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcClientUtil.java
deleted file mode 100644
index 1683e2cd681..00000000000
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcClientUtil.java
+++ /dev/null
@@ -1,241 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.hadoop.ipc_;
-
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.net.InetSocketAddress;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.hadoop.conf.Configuration;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.GetProtocolSignatureRequestProto;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.GetProtocolSignatureResponseProto;
-import 
org.apache.hadoop.ipc_.protobuf.ProtocolInfoProtos.ProtocolSignatureProto;
-import org.apache.hadoop.net.NetUtils;
-
-import com.google.protobuf.RpcController;
-import com.google.protobuf.ServiceException;
-
-/**
- * This class maintains a cache of protocol versions and corresponding protocol
- * signatures, keyed by server address, protocol and rpc kind.
- * The cache is lazily populated. 
- */
-public class RpcClientUtil {
-  private static RpcController NULL_CONTROLLER = null;
-  private static final int PRIME = 16777619;
-  
-  private static class ProtoSigCacheKey {
-    private InetSocketAddress serverAddress;
-    private String protocol;
-    private String rpcKind;
-    
-    ProtoSigCacheKey(InetSocketAddress addr, String p, String rk) {
-      this.serverAddress = addr;
-      this.protocol = p;
-      this.rpcKind = rk;
-    }
-    
-    @Override //Object
-    public int hashCode() {
-      int result = 1;
-      result = PRIME * result
-          + ((serverAddress == null) ? 0 : serverAddress.hashCode());
-      result = PRIME * result + ((protocol == null) ? 0 : protocol.hashCode());
-      result = PRIME * result + ((rpcKind == null) ? 0 : rpcKind.hashCode());
-      return result;
-    }
-    
-    @Override //Object
-    public boolean equals(Object other) {
-      if (other == this) {
-        return true;
-      }
-      if (other instanceof ProtoSigCacheKey) {
-        ProtoSigCacheKey otherKey = (ProtoSigCacheKey) other;
-        return (serverAddress.equals(otherKey.serverAddress) &&
-            protocol.equals(otherKey.protocol) &&
-            rpcKind.equals(otherKey.rpcKind));
-      }
-      return false;
-    }
-  }
-  
-  private static ConcurrentHashMap<ProtoSigCacheKey, Map<Long, 
ProtocolSignature>> 
-  signatureMap = new ConcurrentHashMap<ProtoSigCacheKey, Map<Long, 
ProtocolSignature>>();
-
-  private static void putVersionSignatureMap(InetSocketAddress addr,
-      String protocol, String rpcKind, Map<Long, ProtocolSignature> map) {
-    signatureMap.put(new ProtoSigCacheKey(addr, protocol, rpcKind), map);
-  }
-  
-  private static Map<Long, ProtocolSignature> getVersionSignatureMap(
-      InetSocketAddress addr, String protocol, String rpcKind) {
-    return signatureMap.get(new ProtoSigCacheKey(addr, protocol, rpcKind));
-  }
-
-  /**
-   * Returns whether the given method is supported or not.
-   * The protocol signatures are fetched and cached. The connection id for the
-   * proxy provided is re-used.
-   * @param rpcProxy Proxy which provides an existing connection id.
-   * @param protocol Protocol for which the method check is required.
-   * @param rpcKind The RpcKind for which the method check is required.
-   * @param version The version at the client.
-   * @param methodName Name of the method.
-   * @return true if the method is supported, false otherwise.
-   * @throws IOException raised on errors performing I/O.
-   */
-  public static boolean isMethodSupported(Object rpcProxy, Class<?> protocol,
-      RPC.RpcKind rpcKind, long version, String methodName) throws IOException 
{
-    InetSocketAddress serverAddress = RPC.getServerAddress(rpcProxy);
-    Map<Long, ProtocolSignature> versionMap = getVersionSignatureMap(
-        serverAddress, protocol.getName(), rpcKind.toString());
-
-    if (versionMap == null) {
-      Configuration conf = new Configuration();
-      RPC.setProtocolEngine(conf, ProtocolMetaInfoPB.class,
-          ProtobufRpcEngine.class);
-      ProtocolMetaInfoPB protocolInfoProxy = getProtocolMetaInfoProxy(rpcProxy,
-          conf);
-      GetProtocolSignatureRequestProto.Builder builder = 
-          GetProtocolSignatureRequestProto.newBuilder();
-      builder.setProtocol(protocol.getName());
-      builder.setRpcKind(rpcKind.toString());
-      GetProtocolSignatureResponseProto resp;
-      try {
-        resp = protocolInfoProxy.getProtocolSignature(NULL_CONTROLLER,
-            builder.build());
-      } catch (ServiceException se) {
-        throw ProtobufHelper.getRemoteException(se);
-      }
-      versionMap = convertProtocolSignatureProtos(resp
-          .getProtocolSignatureList());
-      putVersionSignatureMap(serverAddress, protocol.getName(),
-          rpcKind.toString(), versionMap);
-    }
-    // Assuming unique method names.
-    Method desiredMethod;
-    Method[] allMethods = protocol.getMethods();
-    desiredMethod = null;
-    for (Method m : allMethods) {
-      if (m.getName().equals(methodName)) {
-        desiredMethod = m;
-        break;
-      }
-    }
-    if (desiredMethod == null) {
-      return false;
-    }
-    int methodHash = ProtocolSignature.getFingerprint(desiredMethod);
-    return methodExists(methodHash, version, versionMap);
-  }
-  
-  private static Map<Long, ProtocolSignature> 
-  convertProtocolSignatureProtos(List<ProtocolSignatureProto> protoList) {
-    Map<Long, ProtocolSignature> map = new TreeMap<Long, ProtocolSignature>();
-    for (ProtocolSignatureProto p : protoList) {
-      int [] methods = new int[p.getMethodsList().size()];
-      int index=0;
-      for (int m : p.getMethodsList()) {
-        methods[index++] = m;
-      }
-      map.put(p.getVersion(), new ProtocolSignature(p.getVersion(), methods));
-    }
-    return map;
-  }
-
-  private static boolean methodExists(int methodHash, long version,
-      Map<Long, ProtocolSignature> versionMap) {
-    ProtocolSignature sig = versionMap.get(version);
-    if (sig != null) {
-      for (int m : sig.getMethods()) {
-        if (m == methodHash) {
-          return true;
-        }
-      }
-    }
-    return false;
-  }
-  
-  // The proxy returned re-uses the underlying connection. This is a special 
-  // mechanism for ProtocolMetaInfoPB.
-  // Don't do this for any other protocol, it might cause a security hole.
-  private static ProtocolMetaInfoPB getProtocolMetaInfoProxy(Object proxy,
-      Configuration conf) throws IOException {
-    RpcInvocationHandler inv = (RpcInvocationHandler) Proxy
-        .getInvocationHandler(proxy);
-    return RPC
-        .getProtocolEngine(ProtocolMetaInfoPB.class, conf)
-        .getProtocolMetaInfoProxy(inv.getConnectionId(), conf,
-            NetUtils.getDefaultSocketFactory(conf)).getProxy();
-  }
-
-  /**
-   * Convert an RPC method to a string.
-   * The format we want is 'MethodOuterClassShortName#methodName'.
-   *
-   * For example, if the method is:
-   *   org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos.
-   *     ClientNamenodeProtocol.BlockingInterface.getServerDefaults
-   *
-   * the format we want is:
-   *   ClientNamenodeProtocol#getServerDefaults
-   * @param method input method.
-   * @return methodToTraceString.
-   */
-  public static String methodToTraceString(Method method) {
-    Class<?> clazz = method.getDeclaringClass();
-    while (true) {
-      Class<?> next = clazz.getEnclosingClass();
-      if (next == null || next.getEnclosingClass() == null) break;
-      clazz = next;
-    }
-    return clazz.getSimpleName() + "#" + method.getName();
-  }
-
-  /**
-   * Convert an RPC class method to a string.
-   * The format we want is
-   * 'SecondOutermostClassShortName#OutermostClassShortName'.
-   *
-   * For example, if the full class name is:
-   *   org.apache.hadoop.hdfs.protocol.ClientProtocol.getBlockLocations
-   *
-   * the format we want is:
-   *   ClientProtocol#getBlockLocations
-   * @param fullName input fullName.
-   * @return toTraceName.
-   */
-  public static String toTraceName(String fullName) {
-    int lastPeriod = fullName.lastIndexOf('.');
-    if (lastPeriod < 0) {
-      return fullName;
-    }
-    int secondLastPeriod = fullName.lastIndexOf('.', lastPeriod - 1);
-    if (secondLastPeriod < 0) {
-      return fullName;
-    }
-    return fullName.substring(secondLastPeriod + 1, lastPeriod) + "#" +
-        fullName.substring(lastPeriod + 1);
-  }
-}
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcEngine.java 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcEngine.java
index 473bf78ef04..c01f94872a5 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcEngine.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/RpcEngine.java
@@ -123,16 +123,4 @@ RPC.Server getServer(Class<?> protocol, Object instance, 
String bindAddress,
                        String portRangeConfig,
                        AlignmentContext alignmentContext) throws IOException;
 
-  /**
-   * Returns a proxy for ProtocolMetaInfoPB, which uses the given connection
-   * id.
-   * @param connId, ConnectionId to be used for the proxy.
-   * @param conf, Configuration.
-   * @param factory, Socket factory.
-   * @return Proxy object.
-   * @throws IOException raised on errors performing I/O.
-   */
-  ProtocolProxy<ProtocolMetaInfoPB> getProtocolMetaInfoProxy(
-      ConnectionId connId, Configuration conf, SocketFactory factory)
-      throws IOException;
 }
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/VersionedProtocol.java
 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/VersionedProtocol.java
deleted file mode 100644
index a1ef030c09a..00000000000
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ipc_/VersionedProtocol.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.ipc_;
-
-import java.io.IOException;
-
-/**
- * Superclass of all protocols that use Hadoop RPC.
- * Subclasses of this interface are also supposed to have
- * a static final long versionID field.
- */
-public interface VersionedProtocol {
-  
-  /**
-   * Return protocol version corresponding to protocol interface.
-   * @param protocol The classname of the protocol interface
-   * @param clientVersion The version of the protocol that the client speaks
-   * @return the version that the server will speak
-   * @throws IOException if any IO error occurs
-   */
-  public long getProtocolVersion(String protocol,
-                                 long clientVersion) throws IOException;
-
-  /**
-   * Return protocol version corresponding to protocol interface.
-   * @param protocol The classname of the protocol interface
-   * @param clientVersion The version of the protocol that the client speaks
-   * @param clientMethodsHash the hashcode of client protocol methods
-   * @return the server protocol signature containing its version and
-   *         a list of its supported methods
-   * @see ProtocolSignature#getProtocolSignature(VersionedProtocol, String, 
-   *                long, int) for a default implementation
-   * @throws IOException raised on errors performing I/O.
-   */
-  public ProtocolSignature getProtocolSignature(String protocol, 
-                                 long clientVersion,
-                                 int clientMethodsHash) throws IOException;
-}
diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/DiskBalancerProtocolClientSideTranslatorPB.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/DiskBalancerProtocolClientSideTranslatorPB.java
index b7d4c2f7839..fd6a96a8393 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/DiskBalancerProtocolClientSideTranslatorPB.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/DiskBalancerProtocolClientSideTranslatorPB.java
@@ -38,10 +38,8 @@
 import org.apache.hadoop.hdds.utils.LegacyHadoopConfigurationSource;
 import org.apache.hadoop.ipc_.ProtobufHelper;
 import org.apache.hadoop.ipc_.ProtobufRpcEngine;
-import org.apache.hadoop.ipc_.ProtocolMetaInterface;
 import org.apache.hadoop.ipc_.ProtocolTranslator;
 import org.apache.hadoop.ipc_.RPC;
-import org.apache.hadoop.ipc_.RpcClientUtil;
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.security.UserGroupInformation;
 
@@ -51,7 +49,7 @@
 @InterfaceAudience.Private
 @InterfaceStability.Evolving
 public class DiskBalancerProtocolClientSideTranslatorPB
-    implements DiskBalancerProtocol, ProtocolMetaInterface, ProtocolTranslator 
{
+    implements DiskBalancerProtocol, ProtocolTranslator {
 
   private static final RpcController NULL_CONTROLLER = null;
 
@@ -173,13 +171,4 @@ public Object getUnderlyingProxyObject() {
   public void close() throws IOException {
     RPC.stopProxy(rpcProxy);
   }
-
-  @Override
-  public boolean isMethodSupported(String methodName) throws IOException {
-    return RpcClientUtil.isMethodSupported(rpcProxy, 
DiskBalancerProtocolPB.class,
-        RPC.RpcKind.RPC_PROTOCOL_BUFFER,
-        RPC.getProtocolVersion(DiskBalancerProtocolPB.class), methodName);
-  }
 }
-
-
diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/ReconfigureProtocolClientSideTranslatorPB.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/ReconfigureProtocolClientSideTranslatorPB.java
index dcaeb30d0a7..b72d2151afc 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/ReconfigureProtocolClientSideTranslatorPB.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/ReconfigureProtocolClientSideTranslatorPB.java
@@ -44,10 +44,8 @@
 import org.apache.hadoop.hdds.utils.LegacyHadoopConfigurationSource;
 import org.apache.hadoop.ipc_.ProtobufHelper;
 import org.apache.hadoop.ipc_.ProtobufRpcEngine;
-import org.apache.hadoop.ipc_.ProtocolMetaInterface;
 import org.apache.hadoop.ipc_.ProtocolTranslator;
 import org.apache.hadoop.ipc_.RPC;
-import org.apache.hadoop.ipc_.RpcClientUtil;
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.security.UserGroupInformation;
 import org.slf4j.Logger;
@@ -61,7 +59,7 @@
 @InterfaceAudience.Private
 @InterfaceStability.Stable
 public class ReconfigureProtocolClientSideTranslatorPB implements
-    ProtocolMetaInterface, ReconfigureProtocol, ProtocolTranslator {
+    ReconfigureProtocol, ProtocolTranslator {
   private static final Logger LOG = LoggerFactory
       .getLogger(ReconfigureProtocolClientSideTranslatorPB.class);
 
@@ -202,13 +200,4 @@ public List<String> listReconfigureProperties() throws 
IOException {
       throw ProtobufHelper.getRemoteException(e);
     }
   }
-
-  @Override
-  public boolean isMethodSupported(String methodName) throws IOException {
-    return RpcClientUtil.isMethodSupported(rpcProxy,
-        ReconfigureProtocolPB.class,
-        RPC.RpcKind.RPC_PROTOCOL_BUFFER,
-        RPC.getProtocolVersion(ReconfigureProtocolPB.class),
-        methodName);
-  }
 }
diff --git a/hadoop-hdds/interface-client/src/main/proto/ProtocolInfo.proto 
b/hadoop-hdds/interface-client/src/main/proto/ProtocolInfo.proto
deleted file mode 100644
index 4758e952d01..00000000000
--- a/hadoop-hdds/interface-client/src/main/proto/ProtocolInfo.proto
+++ /dev/null
@@ -1,89 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * These .proto interfaces are private and stable.
- * Please see http://wiki.apache.org/hadoop/Compatibility
- * for what changes are allowed for a *stable* .proto interface.
- */
-syntax = "proto2";
-option java_package = "org.apache.hadoop.ipc_.protobuf";
-option java_outer_classname = "ProtocolInfoProtos";
-option java_generic_services = true;
-option java_generate_equals_and_hash = true;
-package hadoop.common;
-
-/**
- * Request to get protocol versions for all supported rpc kinds.
- */
-message GetProtocolVersionsRequestProto {
-  required string protocol = 1; // Protocol name
-}
-
-/**
- * Protocol version with corresponding rpc kind.
- */
-message ProtocolVersionProto {
-  required string rpcKind = 1; //RPC kind
-  repeated uint64 versions = 2; //Protocol version corresponding to the rpc 
kind.
-}
-
-/**
- * Get protocol version response.
- */
-message GetProtocolVersionsResponseProto { 
-  repeated ProtocolVersionProto protocolVersions = 1;
-}
-
-/**
- * Get protocol signature request.
- */
-message GetProtocolSignatureRequestProto {
-  required string protocol = 1; // Protocol name
-  required string rpcKind = 2; // RPC kind
-}
-
-/**
- * Get protocol signature response.
- */ 
-message GetProtocolSignatureResponseProto {
-  repeated ProtocolSignatureProto protocolSignature = 1;
-}
-
-message ProtocolSignatureProto {
-  required uint64 version = 1;
-  repeated uint32 methods = 2;
-}
-
-/**
- * Protocol to get information about protocols.
- */
-service ProtocolInfoService {
-  /**
-   * Return protocol version corresponding to protocol interface for each
-   * supported rpc kind.
-   */
-  rpc getProtocolVersions(GetProtocolVersionsRequestProto) 
-      returns (GetProtocolVersionsResponseProto);
-
-  /**
-   * Return protocol version corresponding to protocol interface.
-   */
-  rpc getProtocolSignature(GetProtocolSignatureRequestProto) 
-      returns (GetProtocolSignatureResponseProto);
-}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to