You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by wi...@apache.org on 2018/02/21 17:36:22 UTC

[geode] branch develop updated: GEODE-4705: Refactor Failure.of to handle protobuf builder code. (#1472)

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

wirebaron pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new f453ace  GEODE-4705: Refactor Failure.of to handle protobuf builder code. (#1472)
f453ace is described below

commit f453ace596f925c0eb9c45bf855fc01be944218a
Author: Brian Rowe <br...@pivotal.io>
AuthorDate: Wed Feb 21 09:36:19 2018 -0800

    GEODE-4705: Refactor Failure.of to handle protobuf builder code. (#1472)
---
 .../operations/ProtobufOperationHandler.java       |  4 +-
 .../internal/protocol/protobuf/v1/Failure.java     | 28 ++++++--
 .../protocol/protobuf/v1/ProtobufOpsProcessor.java | 11 ++--
 .../internal/protocol/protobuf/v1/Result.java      |  7 +-
 .../internal/protocol/protobuf/v1/Success.java     |  8 +--
 .../AbstractFunctionRequestOperationHandler.java   | 31 +++------
 ...cuteFunctionOnGroupRequestOperationHandler.java |  9 +--
 ...uteFunctionOnMemberRequestOperationHandler.java | 16 ++---
 ...uteFunctionOnRegionRequestOperationHandler.java |  7 +-
 .../operations/GetAllRequestOperationHandler.java  | 10 +--
 .../GetRegionNamesRequestOperationHandler.java     | 15 +++--
 .../GetRegionRequestOperationHandler.java          | 10 +--
 .../v1/operations/GetRequestOperationHandler.java  | 10 +--
 .../v1/operations/GetServerOperationHandler.java   |  9 +--
 .../operations/PutAllRequestOperationHandler.java  | 11 ++--
 .../v1/operations/PutRequestOperationHandler.java  | 19 ++----
 .../operations/RemoveRequestOperationHandler.java  | 10 +--
 .../AuthenticationRequestOperationHandler.java     |  6 +-
 .../v1/utilities/ProtobufRequestUtilities.java     |  3 +-
 .../v1/utilities/ProtobufResponseUtilities.java    | 75 ----------------------
 .../protobuf/v1/utilities/ProtobufUtilities.java   |  3 +-
 ...ionOnGroupRequestOperationHandlerJUnitTest.java | 10 +--
 ...onOnMemberRequestOperationHandlerJUnitTest.java | 10 +--
 ...onOnRegionRequestOperationHandlerJUnitTest.java |  6 +-
 24 files changed, 100 insertions(+), 228 deletions(-)

diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/operations/ProtobufOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/operations/ProtobufOperationHandler.java
index a093aaf..930b255 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/operations/ProtobufOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/operations/ProtobufOperationHandler.java
@@ -15,7 +15,6 @@
 package org.apache.geode.internal.protocol.operations;
 
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
@@ -38,8 +37,7 @@ public interface ProtobufOperationHandler<Req, Resp> {
    * @throws ConnectionStateException if the connection is in an invalid state for the operation in
    *         question.
    */
-  Result<Resp, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, Req request,
+  Result<Resp> process(ProtobufSerializationService serializationService, Req request,
       MessageExecutionContext messageExecutionContext) throws InvalidExecutionContextException,
       ConnectionStateException, EncodingException, DecodingException;
 }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Failure.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Failure.java
index 87c039e..f999c89 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Failure.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Failure.java
@@ -17,22 +17,36 @@ package org.apache.geode.internal.protocol.protobuf.v1;
 import java.util.function.Function;
 
 import org.apache.geode.annotations.Experimental;
+import org.apache.geode.internal.protocol.protobuf.v1.state.exception.ConnectionStateException;
 
 @Experimental
-public class Failure<SuccessType, FailureType> implements Result<SuccessType, FailureType> {
-  private final FailureType failureType;
+public class Failure<SuccessType> implements Result<SuccessType> {
+  private final ClientProtocol.ErrorResponse failureType;
 
-  private Failure(FailureType failureType) {
+  private Failure(ClientProtocol.ErrorResponse failureType) {
     this.failureType = failureType;
   }
 
-  public static <T, V> Failure<T, V> of(V errorResponse) {
-    return new Failure<>(errorResponse);
+  public static <T> Failure<T> of(BasicTypes.ErrorCode errorCode, String errorMessage) {
+    return new Failure<>(ClientProtocol.ErrorResponse.newBuilder()
+        .setError(BasicTypes.Error.newBuilder().setErrorCode(errorCode).setMessage(errorMessage))
+        .build());
+  }
+
+  public static <T> Failure<T> of(ConnectionStateException exception) {
+    return of(exception.getErrorCode(), exception.getMessage());
+  }
+
+  public static <T> Failure<T> of(Exception exception) {
+    if (exception instanceof ConnectionStateException) {
+      return of((ConnectionStateException) exception);
+    }
+    return of(BasicTypes.ErrorCode.SERVER_ERROR, exception.toString());
   }
 
   @Override
   public <T> T map(Function<SuccessType, T> successFunction,
-      Function<FailureType, T> errorFunction) {
+      Function<ClientProtocol.ErrorResponse, T> errorFunction) {
     return errorFunction.apply(failureType);
   }
 
@@ -42,7 +56,7 @@ public class Failure<SuccessType, FailureType> implements Result<SuccessType, Fa
   }
 
   @Override
-  public FailureType getErrorMessage() {
+  public ClientProtocol.ErrorResponse getErrorMessage() {
     return failureType;
   }
 }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufOpsProcessor.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufOpsProcessor.java
index 716288e..7f1996c 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufOpsProcessor.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/ProtobufOpsProcessor.java
@@ -25,7 +25,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.En
 import org.apache.geode.internal.protocol.protobuf.v1.state.ProtobufConnectionTerminatingStateProcessor;
 import org.apache.geode.internal.protocol.protobuf.v1.state.exception.ConnectionStateException;
 import org.apache.geode.internal.protocol.protobuf.v1.state.exception.OperationNotAuthorizedException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 /**
  * This handles protobuf requests by determining the operation type of the request and dispatching
@@ -59,15 +58,15 @@ public class ProtobufOpsProcessor {
     } catch (OperationNotAuthorizedException e) {
       // Don't move to a terminating state for authorization state failures
       logger.warn(e.getMessage());
-      result = Failure.of(ProtobufResponseUtilities.makeErrorResponse(e));
+      result = Failure.of(e);
     } catch (EncodingException | DecodingException e) {
       logger.warn(e.getMessage());
-      result = Failure.of(ProtobufResponseUtilities.makeErrorResponse(e));
+      result = Failure.of(e);
     } catch (ConnectionStateException e) {
       logger.warn(e.getMessage());
       messageExecutionContext
           .setConnectionStateProcessor(new ProtobufConnectionTerminatingStateProcessor());
-      result = Failure.of(ProtobufResponseUtilities.makeErrorResponse(e));
+      result = Failure.of(e);
     }
 
     return ((ClientProtocol.Message.Builder) result.map(operationContext.getToResponse(),
@@ -82,8 +81,8 @@ public class ProtobufOpsProcessor {
           operationContext.getFromRequest().apply(request), context);
     } catch (InvalidExecutionContextException exception) {
       logger.error("Invalid execution context found for operation {}", requestType);
-      return Failure.of(ProtobufResponseUtilities.makeErrorResponse(
-          BasicTypes.ErrorCode.INVALID_REQUEST, "Invalid execution context found for operation."));
+      return Failure.of(BasicTypes.ErrorCode.INVALID_REQUEST,
+          "Invalid execution context found for operation.");
     }
   }
 }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Result.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Result.java
index da4e07e..b3955f1 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Result.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Result.java
@@ -19,10 +19,11 @@ import java.util.function.Function;
 import org.apache.geode.annotations.Experimental;
 
 @Experimental
-public interface Result<SuccessType, FailureType> {
-  <T> T map(Function<SuccessType, T> successFunction, Function<FailureType, T> errorFunction);
+public interface Result<SuccessType> {
+  <T> T map(Function<SuccessType, T> successFunction,
+      Function<ClientProtocol.ErrorResponse, T> errorFunction);
 
   SuccessType getMessage();
 
-  FailureType getErrorMessage();
+  ClientProtocol.ErrorResponse getErrorMessage();
 }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Success.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Success.java
index 90a0b83..6d70fed 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Success.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/Success.java
@@ -19,20 +19,20 @@ import java.util.function.Function;
 import org.apache.geode.annotations.Experimental;
 
 @Experimental
-public class Success<SuccessType, FailureType> implements Result<SuccessType, FailureType> {
+public class Success<SuccessType> implements Result<SuccessType> {
   private final SuccessType successResponse;
 
   private Success(SuccessType successResponse) {
     this.successResponse = successResponse;
   }
 
-  public static <T, V> Success<T, V> of(T successResponse) {
+  public static <T> Success<T> of(T successResponse) {
     return new Success<>(successResponse);
   }
 
   @Override
   public <T> T map(Function<SuccessType, T> successFunction,
-      Function<FailureType, T> errorFunction) {
+      Function<ClientProtocol.ErrorResponse, T> errorFunction) {
     return successFunction.apply(successResponse);
   }
 
@@ -42,7 +42,7 @@ public class Success<SuccessType, FailureType> implements Result<SuccessType, Fa
   }
 
   @Override
-  public FailureType getErrorMessage() {
+  public ClientProtocol.ErrorResponse getErrorMessage() {
     throw new RuntimeException("This is a not Failure result");
   }
 }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/AbstractFunctionRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/AbstractFunctionRequestOperationHandler.java
index 5fe8c1b..3a2890c 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/AbstractFunctionRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/AbstractFunctionRequestOperationHandler.java
@@ -26,7 +26,6 @@ import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.i18n.LocalizedStrings;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
@@ -41,8 +40,7 @@ public abstract class AbstractFunctionRequestOperationHandler<Req, Resp>
 
 
   @Override
-  public Result<Resp, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, Req request,
+  public Result<Resp> process(ProtobufSerializationService serializationService, Req request,
       MessageExecutionContext messageExecutionContext)
       throws InvalidExecutionContextException, DecodingException {
 
@@ -50,12 +48,9 @@ public abstract class AbstractFunctionRequestOperationHandler<Req, Resp>
 
     final Function<?> function = FunctionService.getFunction(functionID);
     if (function == null) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder().setErrorCode(BasicTypes.ErrorCode.INVALID_REQUEST)
-              .setMessage(LocalizedStrings.ExecuteFunction_FUNCTION_NAMED_0_IS_NOT_REGISTERED
-                  .toLocalizedString(functionID))
-              .build())
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.INVALID_REQUEST,
+          LocalizedStrings.ExecuteFunction_FUNCTION_NAMED_0_IS_NOT_REGISTERED
+              .toLocalizedString(functionID));
     }
 
     final SecurityService securityService = messageExecutionContext.getCache().getSecurityService();
@@ -65,11 +60,8 @@ public abstract class AbstractFunctionRequestOperationHandler<Req, Resp>
       // check security for function.
       function.getRequiredPermissions(regionName).forEach(securityService::authorize);
     } catch (NotAuthorizedException ex) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder()
-              .setMessage("Authorization failed for function \"" + functionID + "\"")
-              .setErrorCode(BasicTypes.ErrorCode.AUTHORIZATION_FAILED))
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.AUTHORIZATION_FAILED,
+          "Authorization failed for function \"" + functionID + "\"");
     }
 
     Object executionTarget = getExecutionTarget(request, regionName, messageExecutionContext);
@@ -102,15 +94,10 @@ public abstract class AbstractFunctionRequestOperationHandler<Req, Resp>
         return buildResultMessage(serializationService);
       }
     } catch (FunctionException ex) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder().setErrorCode(BasicTypes.ErrorCode.SERVER_ERROR)
-              .setMessage("Function execution failed: " + ex.toString()))
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR,
+          "Function execution failed: " + ex.toString());
     } catch (EncodingException ex) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder().setErrorCode(BasicTypes.ErrorCode.SERVER_ERROR)
-              .setMessage("Encoding failed: " + ex.toString()))
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR, "Encoding failed: " + ex.toString());
     }
   }
 
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandler.java
index 5a2841b..04cffb0 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandler.java
@@ -24,7 +24,6 @@ import org.apache.geode.cache.execute.FunctionService;
 import org.apache.geode.distributed.DistributedSystem;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.FunctionAPI.ExecuteFunctionOnGroupRequest;
 import org.apache.geode.internal.protocol.protobuf.v1.FunctionAPI.ExecuteFunctionOnGroupResponse;
@@ -77,12 +76,8 @@ public class ExecuteFunctionOnGroupRequestOperationHandler extends
       }
     }
     if (!foundMatch) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder()
-              .setMessage("No server  in groups " + groupList + " could be found to execute \""
-                  + request.getFunctionID() + "\"")
-              .setErrorCode(BasicTypes.ErrorCode.NO_AVAILABLE_SERVER))
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.NO_AVAILABLE_SERVER, "No server  in groups "
+          + groupList + " could be found to execute \"" + request.getFunctionID() + "\"");
     }
     return groupList;
   }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandler.java
index a0774d8..d9e2ee7 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandler.java
@@ -26,7 +26,6 @@ import org.apache.geode.distributed.DistributedMember;
 import org.apache.geode.distributed.internal.DistributionManager;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.FunctionAPI.ExecuteFunctionOnMemberRequest;
 import org.apache.geode.internal.protocol.protobuf.v1.FunctionAPI.ExecuteFunctionOnMemberResponse;
@@ -70,21 +69,14 @@ public class ExecuteFunctionOnMemberRequestOperationHandler extends
     for (String name : memberNameList) {
       DistributedMember member = distributionManager.getMemberWithName(name);
       if (member == null) {
-        return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-            .setError(BasicTypes.Error.newBuilder()
-                .setMessage(
-                    "Member " + name + " not found to execute \"" + request.getFunctionID() + "\"")
-                .setErrorCode(BasicTypes.ErrorCode.NO_AVAILABLE_SERVER))
-            .build());
+        return Failure.of(BasicTypes.ErrorCode.NO_AVAILABLE_SERVER,
+            "Member " + name + " not found to execute \"" + request.getFunctionID() + "\"");
       }
       memberIds.add(member);
     }
     if (memberIds.isEmpty()) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder()
-              .setMessage("No members found to execute \"" + request.getFunctionID() + "\"")
-              .setErrorCode(BasicTypes.ErrorCode.NO_AVAILABLE_SERVER))
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.NO_AVAILABLE_SERVER,
+          "No members found to execute \"" + request.getFunctionID() + "\"");
     }
     return memberIds;
   }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandler.java
index 1cb9100..3f79826 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandler.java
@@ -23,7 +23,6 @@ import org.apache.geode.cache.execute.Execution;
 import org.apache.geode.cache.execute.FunctionService;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.FunctionAPI.ExecuteFunctionOnRegionRequest;
 import org.apache.geode.internal.protocol.protobuf.v1.FunctionAPI.ExecuteFunctionOnRegionResponse;
@@ -63,10 +62,8 @@ public class ExecuteFunctionOnRegionRequestOperationHandler extends
       MessageExecutionContext executionContext) throws InvalidExecutionContextException {
     final Region<Object, Object> region = executionContext.getCache().getRegion(regionName);
     if (region == null) {
-      return Failure.of(ClientProtocol.ErrorResponse.newBuilder()
-          .setError(BasicTypes.Error.newBuilder().setErrorCode(BasicTypes.ErrorCode.INVALID_REQUEST)
-              .setMessage("Region \"" + regionName + "\" not found"))
-          .build());
+      return Failure.of(BasicTypes.ErrorCode.INVALID_REQUEST,
+          "Region \"" + regionName + "\" not found");
     }
     return region;
   }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandler.java
index 1d398b1..b70b471 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetAllRequestOperationHandler.java
@@ -25,7 +25,6 @@ import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
@@ -34,7 +33,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 
 @Experimental
@@ -43,16 +41,14 @@ public class GetAllRequestOperationHandler
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public Result<RegionAPI.GetAllResponse, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, RegionAPI.GetAllRequest request,
-      MessageExecutionContext messageExecutionContext)
+  public Result<RegionAPI.GetAllResponse> process(ProtobufSerializationService serializationService,
+      RegionAPI.GetAllRequest request, MessageExecutionContext messageExecutionContext)
       throws InvalidExecutionContextException, DecodingException {
     String regionName = request.getRegionName();
     Region region = messageExecutionContext.getCache().getRegion(regionName);
     if (region == null) {
       logger.error("Received GetAll request for non-existing region {}", regionName);
-      return Failure.of(ProtobufResponseUtilities
-          .makeErrorResponse(BasicTypes.ErrorCode.SERVER_ERROR, "Region not found"));
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR, "Region not found");
     }
 
     long startTime = messageExecutionContext.getStatistics().startOperation();
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandler.java
index 45ecc0c..e6b9fe0 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionNamesRequestOperationHandler.java
@@ -20,25 +20,28 @@ import org.apache.geode.annotations.Experimental;
 import org.apache.geode.cache.Region;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 @Experimental
 public class GetRegionNamesRequestOperationHandler implements
     ProtobufOperationHandler<RegionAPI.GetRegionNamesRequest, RegionAPI.GetRegionNamesResponse> {
 
   @Override
-  public Result<RegionAPI.GetRegionNamesResponse, ClientProtocol.ErrorResponse> process(
+  public Result<RegionAPI.GetRegionNamesResponse> process(
       ProtobufSerializationService serializationService, RegionAPI.GetRegionNamesRequest request,
       MessageExecutionContext messageExecutionContext) throws InvalidExecutionContextException {
     Set<Region<?, ?>> regions = messageExecutionContext.getCache().rootRegions();
-    return Success.of(ProtobufResponseUtilities.createGetRegionNamesResponse(regions));
+
+    RegionAPI.GetRegionNamesResponse.Builder builder =
+        RegionAPI.GetRegionNamesResponse.newBuilder();
+    for (Region region : regions) {
+      builder.addRegions(region.getName());
+    }
+
+    return Success.of(builder.build());
   }
 }
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionRequestOperationHandler.java
index 2c2bd17..f87500a 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRegionRequestOperationHandler.java
@@ -22,16 +22,12 @@ import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufUtilities;
 
 @Experimental
@@ -40,7 +36,7 @@ public class GetRegionRequestOperationHandler
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public Result<RegionAPI.GetRegionResponse, ClientProtocol.ErrorResponse> process(
+  public Result<RegionAPI.GetRegionResponse> process(
       ProtobufSerializationService serializationService, RegionAPI.GetRegionRequest request,
       MessageExecutionContext messageExecutionContext) throws InvalidExecutionContextException {
     String regionName = request.getRegionName();
@@ -48,8 +44,8 @@ public class GetRegionRequestOperationHandler
     Region region = messageExecutionContext.getCache().getRegion(regionName);
     if (region == null) {
       logger.error("Received GetRegion request for non-existing region {}", regionName);
-      return Failure.of(ProtobufResponseUtilities.makeErrorResponse(
-          BasicTypes.ErrorCode.SERVER_ERROR, "No region exists for name: " + regionName));
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR,
+          "No region exists for name: " + regionName);
     }
 
     BasicTypes.Region protoRegion = ProtobufUtilities.createRegionMessageFromRegion(region);
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandler.java
index 162e3a7..4bbff03 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetRequestOperationHandler.java
@@ -22,7 +22,6 @@ import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
@@ -31,7 +30,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 @Experimental
 public class GetRequestOperationHandler
@@ -39,16 +37,14 @@ public class GetRequestOperationHandler
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public Result<RegionAPI.GetResponse, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, RegionAPI.GetRequest request,
-      MessageExecutionContext messageExecutionContext)
+  public Result<RegionAPI.GetResponse> process(ProtobufSerializationService serializationService,
+      RegionAPI.GetRequest request, MessageExecutionContext messageExecutionContext)
       throws InvalidExecutionContextException, EncodingException, DecodingException {
     String regionName = request.getRegionName();
     Region region = messageExecutionContext.getCache().getRegion(regionName);
     if (region == null) {
       logger.error("Received Get request for non-existing region {}", regionName);
-      return Failure.of(ProtobufResponseUtilities
-          .makeErrorResponse(BasicTypes.ErrorCode.SERVER_ERROR, "Region not found"));
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR, "Region not found");
     }
     long startOperationTime = messageExecutionContext.getStatistics().startOperation();
 
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandler.java
index 873a85f..4d22b78 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/GetServerOperationHandler.java
@@ -29,24 +29,20 @@ import org.apache.geode.distributed.internal.ServerLocation;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.LocatorAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
 import org.apache.geode.internal.protocol.protobuf.v1.state.ProtobufConnectionTerminatingStateProcessor;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 @Experimental
 public class GetServerOperationHandler
     implements ProtobufOperationHandler<LocatorAPI.GetServerRequest, LocatorAPI.GetServerResponse> {
 
   @Override
-  public Result<LocatorAPI.GetServerResponse, ClientProtocol.ErrorResponse> process(
+  public Result<LocatorAPI.GetServerResponse> process(
       ProtobufSerializationService serializationService, LocatorAPI.GetServerRequest request,
       MessageExecutionContext messageExecutionContext) throws InvalidExecutionContextException {
 
@@ -78,8 +74,7 @@ public class GetServerOperationHandler
     }
 
     if (serverLocation == null) {
-      return Failure.of(ProtobufResponseUtilities.makeErrorResponse(NO_AVAILABLE_SERVER,
-          "Unable to find a server for you"));
+      return Failure.of(NO_AVAILABLE_SERVER, "Unable to find a server for you");
 
     } else {
       LocatorAPI.GetServerResponse.Builder builder = LocatorAPI.GetServerResponse.newBuilder();
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandler.java
index 9d90aa3..94a9bb2 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutAllRequestOperationHandler.java
@@ -25,7 +25,6 @@ import org.apache.geode.cache.Region;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
@@ -34,7 +33,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.SerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 @Experimental
 public class PutAllRequestOperationHandler
@@ -42,17 +40,16 @@ public class PutAllRequestOperationHandler
   private static final Logger logger = LogManager.getLogger();
 
   @Override
-  public Result<RegionAPI.PutAllResponse, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, RegionAPI.PutAllRequest putAllRequest,
-      MessageExecutionContext messageExecutionContext)
+  public Result<RegionAPI.PutAllResponse> process(ProtobufSerializationService serializationService,
+      RegionAPI.PutAllRequest putAllRequest, MessageExecutionContext messageExecutionContext)
       throws InvalidExecutionContextException, DecodingException {
     String regionName = putAllRequest.getRegionName();
     Region region = messageExecutionContext.getCache().getRegion(regionName);
 
     if (region == null) {
       logger.error("Received PutAll request for non-existing region {}", regionName);
-      return Failure.of(ProtobufResponseUtilities.makeErrorResponse(
-          BasicTypes.ErrorCode.SERVER_ERROR, "Region passed does not exist: " + regionName));
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR,
+          "Region passed does not exist: " + regionName);
     }
 
     long startTime = messageExecutionContext.getStatistics().startOperation();
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandler.java
index baf310f..1969c3b 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/PutRequestOperationHandler.java
@@ -14,8 +14,6 @@
  */
 package org.apache.geode.internal.protocol.protobuf.v1.operations;
 
-import static org.apache.geode.internal.protocol.protobuf.v1.BasicTypes.ErrorCode.SERVER_ERROR;
-
 import org.apache.logging.log4j.Logger;
 
 import org.apache.geode.annotations.Experimental;
@@ -24,7 +22,6 @@ import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
@@ -32,9 +29,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.state.exception.ConnectionStateException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 @Experimental
 public class PutRequestOperationHandler
@@ -42,17 +36,15 @@ public class PutRequestOperationHandler
   private static final Logger logger = LogService.getLogger();
 
   @Override
-  public Result<RegionAPI.PutResponse, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, RegionAPI.PutRequest request,
-      MessageExecutionContext messageExecutionContext)
+  public Result<RegionAPI.PutResponse> process(ProtobufSerializationService serializationService,
+      RegionAPI.PutRequest request, MessageExecutionContext messageExecutionContext)
       throws InvalidExecutionContextException, DecodingException {
     String regionName = request.getRegionName();
     Region region = messageExecutionContext.getCache().getRegion(regionName);
     if (region == null) {
       logger.warn("Received Put request for non-existing region: {}", regionName);
-      return Failure
-          .of(ProtobufResponseUtilities.makeErrorResponse(BasicTypes.ErrorCode.SERVER_ERROR,
-              "Region passed by client did not exist: " + regionName));
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR,
+          "Region passed by client did not exist: " + regionName);
     }
 
     long startTime = messageExecutionContext.getStatistics().startOperation();
@@ -66,8 +58,7 @@ public class PutRequestOperationHandler
         return Success.of(RegionAPI.PutResponse.newBuilder().build());
       } catch (ClassCastException ex) {
         logger.error("Received Put request with invalid key type: {}", ex);
-        return Failure.of(ProtobufResponseUtilities
-            .makeErrorResponse(BasicTypes.ErrorCode.SERVER_ERROR, ex.toString()));
+        return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR, ex.toString());
       }
     } finally {
       messageExecutionContext.getStatistics().endOperation(startTime);
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandler.java
index 88dee44..d81cb12 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/RemoveRequestOperationHandler.java
@@ -22,7 +22,6 @@ import org.apache.geode.cache.Region;
 import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
 import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.Failure;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
@@ -30,7 +29,6 @@ import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
 import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.utilities.ProtobufResponseUtilities;
 
 @Experimental
 public class RemoveRequestOperationHandler
@@ -38,17 +36,15 @@ public class RemoveRequestOperationHandler
   private static final Logger logger = LogManager.getLogger();
 
   @Override
-  public Result<RegionAPI.RemoveResponse, ClientProtocol.ErrorResponse> process(
-      ProtobufSerializationService serializationService, RegionAPI.RemoveRequest request,
-      MessageExecutionContext messageExecutionContext)
+  public Result<RegionAPI.RemoveResponse> process(ProtobufSerializationService serializationService,
+      RegionAPI.RemoveRequest request, MessageExecutionContext messageExecutionContext)
       throws InvalidExecutionContextException, DecodingException {
 
     String regionName = request.getRegionName();
     Region region = messageExecutionContext.getCache().getRegion(regionName);
     if (region == null) {
       logger.error("Received Remove request for non-existing region {}", regionName);
-      return Failure.of(ProtobufResponseUtilities
-          .makeErrorResponse(BasicTypes.ErrorCode.SERVER_ERROR, "Region not found"));
+      return Failure.of(BasicTypes.ErrorCode.SERVER_ERROR, "Region not found");
     }
 
     long startTime = messageExecutionContext.getStatistics().startOperation();
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/security/AuthenticationRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/security/AuthenticationRequestOperationHandler.java
index 15f057e..abe6c1a 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/security/AuthenticationRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/operations/security/AuthenticationRequestOperationHandler.java
@@ -16,16 +16,12 @@ package org.apache.geode.internal.protocol.protobuf.v1.operations.security;
 
 import java.util.Properties;
 
-import org.apache.geode.internal.exception.InvalidExecutionContextException;
 import org.apache.geode.internal.protocol.operations.ProtobufOperationHandler;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
 import org.apache.geode.internal.protocol.protobuf.v1.ConnectionAPI;
 import org.apache.geode.internal.protocol.protobuf.v1.MessageExecutionContext;
 import org.apache.geode.internal.protocol.protobuf.v1.ProtobufSerializationService;
 import org.apache.geode.internal.protocol.protobuf.v1.Result;
 import org.apache.geode.internal.protocol.protobuf.v1.Success;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
 import org.apache.geode.internal.protocol.protobuf.v1.state.ProtobufConnectionAuthenticatingStateProcessor;
 import org.apache.geode.internal.protocol.protobuf.v1.state.ProtobufConnectionStateProcessor;
 import org.apache.geode.internal.protocol.protobuf.v1.state.ProtobufConnectionTerminatingStateProcessor;
@@ -35,7 +31,7 @@ import org.apache.geode.security.AuthenticationFailedException;
 public class AuthenticationRequestOperationHandler implements
     ProtobufOperationHandler<ConnectionAPI.AuthenticationRequest, ConnectionAPI.AuthenticationResponse> {
   @Override
-  public Result<ConnectionAPI.AuthenticationResponse, ClientProtocol.ErrorResponse> process(
+  public Result<ConnectionAPI.AuthenticationResponse> process(
       ProtobufSerializationService serializationService,
       ConnectionAPI.AuthenticationRequest request, MessageExecutionContext messageExecutionContext)
       throws ConnectionStateException {
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
index 2a75aeb..9ba4e5b 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufRequestUtilities.java
@@ -25,8 +25,7 @@ import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
 /**
  * This class contains helper functions for generating ClientProtocol.Message objects
  *
- * Response building helpers can be found in {@link ProtobufResponseUtilities}, while more general
- * purpose helpers can be found in {@link ProtobufUtilities}
+ * More general purpose helpers can be found in {@link ProtobufUtilities}
  */
 @Experimental
 public abstract class ProtobufRequestUtilities {
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufResponseUtilities.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufResponseUtilities.java
deleted file mode 100644
index 8bdcd2e..0000000
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufResponseUtilities.java
+++ /dev/null
@@ -1,75 +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.geode.internal.protocol.protobuf.v1.utilities;
-
-import java.util.Set;
-
-import org.apache.geode.annotations.Experimental;
-import org.apache.geode.cache.Region;
-import org.apache.geode.internal.protocol.protobuf.v1.BasicTypes;
-import org.apache.geode.internal.protocol.protobuf.v1.ClientProtocol;
-import org.apache.geode.internal.protocol.protobuf.v1.RegionAPI;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.DecodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.EncodingException;
-import org.apache.geode.internal.protocol.protobuf.v1.state.exception.ConnectionStateException;
-
-
-/**
- * This class contains helper functions for generating ClientProtocol.Response objects.
- * <p>
- * Request building helpers can be found in {@link ProtobufRequestUtilities}, while more general
- * purpose helpers can be found in {@link ProtobufUtilities}
- */
-@Experimental
-public abstract class ProtobufResponseUtilities {
-
-  /**
-   * This creates a response object containing a RegionAPI.GetRegionNamesResponse
-   *
-   * @param regionSet - A set of regions
-   * @return A response object containing the names of the regions in the passed regionSet
-   */
-  public static RegionAPI.GetRegionNamesResponse createGetRegionNamesResponse(
-      Set<Region<?, ?>> regionSet) {
-    RegionAPI.GetRegionNamesResponse.Builder builder =
-        RegionAPI.GetRegionNamesResponse.newBuilder();
-    for (Region region : regionSet) {
-      builder.addRegions(region.getName());
-    }
-    return builder.build();
-  }
-
-  public static ClientProtocol.ErrorResponse makeErrorResponse(BasicTypes.ErrorCode errorCode,
-      String message) {
-    return ClientProtocol.ErrorResponse.newBuilder()
-        .setError(BasicTypes.Error.newBuilder().setErrorCode(errorCode).setMessage(message))
-        .build();
-  }
-
-  public static ClientProtocol.ErrorResponse makeErrorResponse(ConnectionStateException exception) {
-    return makeErrorResponse(exception.getErrorCode(), exception.getMessage());
-  }
-
-  public static ClientProtocol.ErrorResponse makeErrorResponse(Exception exception) {
-    if (exception instanceof ConnectionStateException) {
-      return makeErrorResponse((ConnectionStateException) exception);
-    }
-    return ClientProtocol.ErrorResponse
-        .newBuilder().setError(BasicTypes.Error.newBuilder()
-            .setErrorCode(BasicTypes.ErrorCode.SERVER_ERROR).setMessage(exception.toString()))
-        .build();
-  }
-
-}
diff --git a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufUtilities.java b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufUtilities.java
index c42cc16..1788992 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufUtilities.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/v1/utilities/ProtobufUtilities.java
@@ -29,8 +29,7 @@ import org.apache.geode.internal.protocol.protobuf.v1.serialization.exception.En
  * messages or those used to create the top level Message objects.
  * <p>
  * Helper functions specific to creating ClientProtocol.Messages can be found at
- * {@link ProtobufResponseUtilities} Helper functions specific to creating ClientProtocol.Messages
- * can be found at {@link ProtobufRequestUtilities}
+ * {@link ProtobufRequestUtilities}
  */
 @Experimental
 public abstract class ProtobufUtilities {
diff --git a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest.java
index 6449c3d..cbf373b 100644
--- a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest.java
+++ b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest.java
@@ -121,7 +121,7 @@ public class ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnGroupRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .addGroupName(NOT_A_GROUP).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -134,7 +134,7 @@ public class ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnGroupRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -151,7 +151,7 @@ public class ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnGroupRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .addGroupName(TEST_GROUP1).addGroupName(TEST_GROUP2).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     // unfortunately FunctionService fishes for a DistributedSystem and throws an exception
@@ -172,7 +172,7 @@ public class ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnGroupRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .addGroupName(TEST_GROUP1).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -187,7 +187,7 @@ public class ExecuteFunctionOnGroupRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnGroupRequest.newBuilder()
             .setFunctionID("I am not a function, I am a human").addGroupName(TEST_GROUP1).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnGroupResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     final ClientProtocol.ErrorResponse errorMessage = result.getErrorMessage();
diff --git a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest.java
index 59016df..c39a9b1 100644
--- a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest.java
+++ b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest.java
@@ -109,7 +109,7 @@ public class ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnMemberRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .addMemberName(NOT_A_MEMBER).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -122,7 +122,7 @@ public class ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnMemberRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -139,7 +139,7 @@ public class ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnMemberRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .addMemberName(TEST_MEMBER1).addMemberName(TEST_MEMBER2).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     // unfortunately FunctionService fishes for a DistributedSystem and throws an exception
@@ -160,7 +160,7 @@ public class ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnMemberRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .addMemberName(TEST_MEMBER1).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -175,7 +175,7 @@ public class ExecuteFunctionOnMemberRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnMemberRequest.newBuilder()
             .setFunctionID("I am not a function, I am a human").addMemberName(TEST_MEMBER1).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnMemberResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     final ClientProtocol.ErrorResponse errorMessage = result.getErrorMessage();
diff --git a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest.java b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest.java
index 1384c3b..07dce3a 100644
--- a/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest.java
+++ b/geode-protobuf/src/test/java/org/apache/geode/internal/protocol/protobuf/v1/operations/ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest.java
@@ -110,7 +110,7 @@ public class ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnRegionRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .setRegion(NOT_A_REGION).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnRegionResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnRegionResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -129,7 +129,7 @@ public class ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest {
         FunctionAPI.ExecuteFunctionOnRegionRequest.newBuilder().setFunctionID(TEST_FUNCTION_ID)
             .setRegion(TEST_REGION).build();
 
-    final Result<FunctionAPI.ExecuteFunctionOnRegionResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnRegionResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     assertTrue(result instanceof Failure);
@@ -147,7 +147,7 @@ public class ExecuteFunctionOnRegionRequestOperationHandlerJUnitTest {
 
     FunctionService.unregisterFunction(TEST_FUNCTION_ID);
 
-    final Result<FunctionAPI.ExecuteFunctionOnRegionResponse, ClientProtocol.ErrorResponse> result =
+    final Result<FunctionAPI.ExecuteFunctionOnRegionResponse> result =
         operationHandler.process(serializationService, request, mockedMessageExecutionContext());
 
     final ClientProtocol.ErrorResponse errorMessage = result.getErrorMessage();

-- 
To stop receiving notification emails like this one, please contact
wirebaron@apache.org.