You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by go...@apache.org on 2017/09/19 17:10:46 UTC
[geode] branch develop updated: GEODE-3548 Add logging to new
protocol code
This is an automated email from the ASF dual-hosted git repository.
gosullivan 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 637a685 GEODE-3548 Add logging to new protocol code
637a685 is described below
commit 637a685ddb8973a3456603ec0b9ccfd1b7bfb810
Author: Hitesh Khamesra <hk...@pivotal.io>
AuthorDate: Tue Sep 5 09:40:05 2017 -0700
GEODE-3548 Add logging to new protocol code
This closes #755
---
.../tier/sockets/GenericProtocolServerConnection.java | 1 +
.../cache/tier/sockets/ServerConnectionFactory.java | 14 +++++++-------
.../geode/protocol/protobuf/ProtobufOpsProcessor.java | 7 +++++++
.../geode/protocol/protobuf/ProtobufStreamProcessor.java | 8 +++++++-
.../protobuf/operations/GetAllRequestOperationHandler.java | 10 ++++++++++
.../operations/GetRegionRequestOperationHandler.java | 5 +++++
.../protobuf/operations/GetRequestOperationHandler.java | 7 +++++++
.../protobuf/operations/PutAllRequestOperationHandler.java | 13 ++++++++-----
.../protobuf/operations/PutRequestOperationHandler.java | 7 +++++++
.../protobuf/operations/RemoveRequestOperationHandler.java | 5 ++++-
10 files changed, 63 insertions(+), 14 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java
index 136a659..eb401b9 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnection.java
@@ -81,6 +81,7 @@ public class GenericProtocolServerConnection extends ServerConnection {
} catch (EOFException e) {
this.setFlagProcessMessagesAsFalse();
setClientDisconnectedException(e);
+ logger.debug("Encountered EOF while processing message: {}", e);
} catch (IOException e) {
logger.warn(e);
this.setFlagProcessMessagesAsFalse();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java
index 31eab49..ffc2d39 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/ServerConnectionFactory.java
@@ -17,13 +17,6 @@ package org.apache.geode.internal.cache.tier.sockets;
import static org.apache.geode.internal.cache.tier.CommunicationMode.ProtobufClientServerProtocol;
-import org.apache.geode.StatisticsFactory;
-import org.apache.geode.internal.cache.InternalCache;
-import org.apache.geode.internal.cache.tier.Acceptor;
-import org.apache.geode.internal.cache.tier.CachedRegionHelper;
-import org.apache.geode.internal.security.SecurityService;
-import org.apache.geode.security.server.Authenticator;
-
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
@@ -31,6 +24,13 @@ import java.util.HashMap;
import java.util.Map;
import java.util.ServiceLoader;
+import org.apache.geode.StatisticsFactory;
+import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.cache.tier.Acceptor;
+import org.apache.geode.internal.cache.tier.CachedRegionHelper;
+import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.security.server.Authenticator;
+
/**
* Creates instances of ServerConnection based on the connection mode provided.
*/
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java
index e5b4ae4..848d70b 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java
@@ -14,9 +14,12 @@
*/
package org.apache.geode.protocol.protobuf;
+import org.apache.logging.log4j.Logger;
+
import org.apache.geode.annotations.Experimental;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.protocol.protobuf.ClientProtocol;
import org.apache.geode.protocol.protobuf.registry.OperationContextRegistry;
import org.apache.geode.protocol.protobuf.statistics.ProtobufClientStatistics;
@@ -32,6 +35,7 @@ public class ProtobufOpsProcessor {
private final OperationContextRegistry operationContextRegistry;
private final SerializationService serializationService;
+ private static final Logger logger = LogService.getLogger();
public ProtobufOpsProcessor(SerializationService serializationService,
OperationContextRegistry operationContextRegistry) {
@@ -42,6 +46,7 @@ public class ProtobufOpsProcessor {
public ClientProtocol.Response process(ClientProtocol.Request request,
MessageExecutionContext context) {
ClientProtocol.Request.RequestAPICase requestType = request.getRequestAPICase();
+ logger.debug("Processing request of type {}", requestType);
OperationContext operationContext = operationContextRegistry.getOperationContext(requestType);
ClientProtocol.Response.Builder builder;
Result result;
@@ -50,12 +55,14 @@ public class ProtobufOpsProcessor {
result = operationContext.getOperationHandler().process(serializationService,
operationContext.getFromRequest().apply(request), context);
} else {
+ logger.warn("Received unauthorized request");
recordAuthorizationViolation(context);
result = Failure.of(ProtobufResponseUtilities.makeErrorResponse(
ProtocolErrorCode.AUTHORIZATION_FAILED.codeValue,
"User isn't authorized for this operation."));
}
} catch (InvalidExecutionContextException exception) {
+ logger.error("Invalid execution context found for operation {}", requestType);
result = Failure.of(ProtobufResponseUtilities.makeErrorResponse(
ProtocolErrorCode.UNSUPPORTED_OPERATION.codeValue,
"Invalid execution context found for operation."));
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java
index 717365b..75d141b 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufStreamProcessor.java
@@ -19,11 +19,14 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import org.apache.logging.log4j.Logger;
+
import org.apache.geode.StatisticsFactory;
import org.apache.geode.annotations.Experimental;
import org.apache.geode.internal.cache.tier.sockets.ClientProtocolMessageHandler;
import org.apache.geode.internal.cache.tier.sockets.ClientProtocolStatistics;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.protocol.exception.InvalidProtocolMessageException;
import org.apache.geode.internal.protocol.protobuf.ClientProtocol;
import org.apache.geode.protocol.protobuf.registry.OperationContextRegistry;
@@ -43,6 +46,7 @@ public class ProtobufStreamProcessor implements ClientProtocolMessageHandler {
private final ProtobufProtocolSerializer protobufProtocolSerializer;
private final ProtobufOpsProcessor protobufOpsProcessor;
private ProtobufClientStatistics statistics;
+ private static final Logger logger = LogService.getLogger();
public ProtobufStreamProcessor() throws CodecAlreadyRegisteredForTypeException {
protobufProtocolSerializer = new ProtobufProtocolSerializer();
@@ -75,7 +79,9 @@ public class ProtobufStreamProcessor implements ClientProtocolMessageHandler {
throws InvalidProtocolMessageException, IOException {
ClientProtocol.Message message = protobufProtocolSerializer.deserialize(inputStream);
if (message == null) {
- throw new EOFException("Tried to deserialize protobuf message at EOF");
+ String errorMessage = "Tried to deserialize protobuf message at EOF";
+ logger.warn(errorMessage);
+ throw new EOFException(errorMessage);
}
statistics.messageReceived(message.getSerializedSize());
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetAllRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetAllRequestOperationHandler.java
index 446dbcb..848bb3e 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetAllRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetAllRequestOperationHandler.java
@@ -18,6 +18,8 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
+import org.apache.logging.log4j.Logger;
+
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.CacheLoaderException;
import org.apache.geode.cache.PartitionedRegionStorageException;
@@ -25,6 +27,8 @@ import org.apache.geode.cache.Region;
import org.apache.geode.cache.TimeoutException;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.logging.LogService;
+import org.apache.geode.protocol.operations.OperationHandler;
import org.apache.geode.internal.protocol.protobuf.BasicTypes;
import org.apache.geode.internal.protocol.protobuf.RegionAPI;
import org.apache.geode.protocol.operations.OperationHandler;
@@ -41,6 +45,7 @@ import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTy
@Experimental
public class GetAllRequestOperationHandler
implements OperationHandler<RegionAPI.GetAllRequest, RegionAPI.GetAllResponse> {
+ private static final Logger logger = LogService.getLogger();
@Override
public Result<RegionAPI.GetAllResponse> process(SerializationService serializationService,
@@ -49,6 +54,7 @@ public class GetAllRequestOperationHandler
String regionName = request.getRegionName();
Region region = executionContext.getCache().getRegion(regionName);
if (region == null) {
+ logger.error("Received GetAll request for non-existing region {}", regionName);
return Failure.of(ProtobufResponseUtilities
.makeErrorResponse(ProtocolErrorCode.REGION_NOT_FOUND.codeValue, "Region not found"));
}
@@ -76,24 +82,28 @@ public class GetAllRequestOperationHandler
Object value = region.get(decodedKey);
return ProtobufUtilities.createEntry(serializationService, decodedKey, value);
} catch (CodecNotRegisteredForTypeException | UnsupportedEncodingTypeException ex) {
+ logger.error("Encoding not supported: {}", ex);
return BasicTypes.KeyedError.newBuilder().setKey(key)
.setError(BasicTypes.Error.newBuilder()
.setErrorCode(ProtocolErrorCode.VALUE_ENCODING_ERROR.codeValue)
.setMessage("Encoding not supported."))
.build();
} catch (org.apache.geode.distributed.LeaseExpiredException | TimeoutException e) {
+ logger.error("Operation timed out: {}", e);
return BasicTypes.KeyedError.newBuilder().setKey(key)
.setError(BasicTypes.Error.newBuilder()
.setErrorCode(ProtocolErrorCode.OPERATION_TIMEOUT.codeValue)
.setMessage("Operation timed out: " + e.getMessage()))
.build();
} catch (CacheLoaderException | PartitionedRegionStorageException e) {
+ logger.error("Data unreachable: {}", e);
return BasicTypes.KeyedError.newBuilder().setKey(key)
.setError(BasicTypes.Error.newBuilder()
.setErrorCode(ProtocolErrorCode.DATA_UNREACHABLE.codeValue)
.setMessage("Data unreachable: " + e.getMessage()))
.build();
} catch (NullPointerException | IllegalArgumentException e) {
+ logger.error("Invalid input: {}", e);
return BasicTypes.KeyedError.newBuilder().setKey(key)
.setError(BasicTypes.Error.newBuilder()
.setErrorCode(ProtocolErrorCode.CONSTRAINT_VIOLATION.codeValue)
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandler.java
index a41519a..098279f 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRegionRequestOperationHandler.java
@@ -14,10 +14,13 @@
*/
package org.apache.geode.protocol.protobuf.operations;
+import org.apache.logging.log4j.Logger;
+
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.Region;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.protocol.protobuf.BasicTypes;
import org.apache.geode.protocol.operations.OperationHandler;
import org.apache.geode.protocol.protobuf.Failure;
@@ -32,6 +35,7 @@ import org.apache.geode.serialization.SerializationService;
@Experimental
public class GetRegionRequestOperationHandler
implements OperationHandler<RegionAPI.GetRegionRequest, RegionAPI.GetRegionResponse> {
+ private static final Logger logger = LogService.getLogger();
@Override
public Result<RegionAPI.GetRegionResponse> process(SerializationService serializationService,
@@ -41,6 +45,7 @@ public class GetRegionRequestOperationHandler
Region region = executionContext.getCache().getRegion(regionName);
if (region == null) {
+ logger.error("Received GetRegion request for non-existing region {}", regionName);
return Failure.of(
ProtobufResponseUtilities.makeErrorResponse(ProtocolErrorCode.REGION_NOT_FOUND.codeValue,
"No region exists for name: " + regionName));
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRequestOperationHandler.java
index 79ad85a..708f576 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/GetRequestOperationHandler.java
@@ -14,10 +14,13 @@
*/
package org.apache.geode.protocol.protobuf.operations;
+import org.apache.logging.log4j.Logger;
+
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.Region;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.protocol.operations.OperationHandler;
import org.apache.geode.internal.protocol.protobuf.BasicTypes;
import org.apache.geode.protocol.protobuf.Failure;
@@ -34,6 +37,7 @@ import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTy
@Experimental
public class GetRequestOperationHandler
implements OperationHandler<RegionAPI.GetRequest, RegionAPI.GetResponse> {
+ private static final Logger logger = LogService.getLogger();
@Override
public Result<RegionAPI.GetResponse> process(SerializationService serializationService,
@@ -42,6 +46,7 @@ public class GetRequestOperationHandler
String regionName = request.getRegionName();
Region region = executionContext.getCache().getRegion(regionName);
if (region == null) {
+ logger.error("Received Get request for non-existing region {}", regionName);
return Failure.of(ProtobufResponseUtilities
.makeErrorResponse(ProtocolErrorCode.REGION_NOT_FOUND.codeValue, "Region not found"));
}
@@ -58,9 +63,11 @@ public class GetRequestOperationHandler
ProtobufUtilities.createEncodedValue(serializationService, resultValue);
return Success.of(RegionAPI.GetResponse.newBuilder().setResult(encodedValue).build());
} catch (UnsupportedEncodingTypeException ex) {
+ logger.error("Received Get request with unsupported encoding: {}", ex);
return Failure.of(ProtobufResponseUtilities.makeErrorResponse(
ProtocolErrorCode.VALUE_ENCODING_ERROR.codeValue, "Encoding not supported."));
} catch (CodecNotRegisteredForTypeException ex) {
+ logger.error("Got codec error when decoding Get request: {}", ex);
return Failure.of(ProtobufResponseUtilities.makeErrorResponse(
ProtocolErrorCode.VALUE_ENCODING_ERROR.codeValue,
"Codec error in protobuf deserialization."));
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutAllRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutAllRequestOperationHandler.java
index 8f2d9ef..deb8085 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutAllRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutAllRequestOperationHandler.java
@@ -24,6 +24,7 @@ import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.Region;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.protocol.operations.OperationHandler;
import org.apache.geode.internal.protocol.protobuf.BasicTypes;
import org.apache.geode.protocol.protobuf.Failure;
@@ -40,18 +41,20 @@ import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTy
@Experimental
public class PutAllRequestOperationHandler
implements OperationHandler<RegionAPI.PutAllRequest, RegionAPI.PutAllResponse> {
- private static Logger logger = LogManager.getLogger();
+ private static final Logger logger = LogManager.getLogger();
@Override
public Result<RegionAPI.PutAllResponse> process(SerializationService serializationService,
RegionAPI.PutAllRequest putAllRequest, MessageExecutionContext executionContext)
throws InvalidExecutionContextException {
- Region region = executionContext.getCache().getRegion(putAllRequest.getRegionName());
+ String regionName = putAllRequest.getRegionName();
+ Region region = executionContext.getCache().getRegion(regionName);
if (region == null) {
- return Failure.of(ProtobufResponseUtilities.createAndLogErrorResponse(
- ProtocolErrorCode.REGION_NOT_FOUND,
- "Region passed by client did not exist: " + putAllRequest.getRegionName(), logger, null));
+ logger.error("Received PutAll request for non-existing region {}", regionName);
+ return Failure.of(
+ ProtobufResponseUtilities.createAndLogErrorResponse(ProtocolErrorCode.REGION_NOT_FOUND,
+ "Region passed does not exist: " + regionName, logger, null));
}
RegionAPI.PutAllResponse.Builder builder = RegionAPI.PutAllResponse.newBuilder()
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandler.java
index 3be4a84..8a23bdb 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/PutRequestOperationHandler.java
@@ -14,10 +14,13 @@
*/
package org.apache.geode.protocol.protobuf.operations;
+import org.apache.logging.log4j.Logger;
+
import org.apache.geode.annotations.Experimental;
import org.apache.geode.cache.Region;
import org.apache.geode.internal.cache.tier.sockets.MessageExecutionContext;
import org.apache.geode.internal.exception.InvalidExecutionContextException;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.protocol.operations.OperationHandler;
import org.apache.geode.internal.protocol.protobuf.BasicTypes;
import org.apache.geode.protocol.protobuf.Failure;
@@ -34,6 +37,7 @@ import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTy
@Experimental
public class PutRequestOperationHandler
implements OperationHandler<RegionAPI.PutRequest, RegionAPI.PutResponse> {
+ private static final Logger logger = LogService.getLogger();
@Override
public Result<RegionAPI.PutResponse> process(SerializationService serializationService,
@@ -42,6 +46,7 @@ public class PutRequestOperationHandler
String regionName = request.getRegionName();
Region region = executionContext.getCache().getRegion(regionName);
if (region == null) {
+ logger.warn("Received Put request for non-existing region: {}", regionName);
return Failure.of(
ProtobufResponseUtilities.makeErrorResponse(ProtocolErrorCode.REGION_NOT_FOUND.codeValue,
"Region passed by client did not exist: " + regionName));
@@ -56,11 +61,13 @@ public class PutRequestOperationHandler
region.put(decodedKey, decodedValue);
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(
ProtocolErrorCode.CONSTRAINT_VIOLATION.codeValue,
"invalid key or value type for region " + regionName));
}
} catch (UnsupportedEncodingTypeException | CodecNotRegisteredForTypeException ex) {
+ logger.error("Got codec error when decoding Put request: {}", ex);
return Failure.of(ProtobufResponseUtilities
.makeErrorResponse(ProtocolErrorCode.VALUE_ENCODING_ERROR.codeValue, ex.getMessage()));
}
diff --git a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java
index 513dc25..ce80cdd 100644
--- a/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java
+++ b/geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/operations/RemoveRequestOperationHandler.java
@@ -36,7 +36,7 @@ import org.apache.geode.serialization.registry.exception.CodecNotRegisteredForTy
@Experimental
public class RemoveRequestOperationHandler
implements OperationHandler<RegionAPI.RemoveRequest, RegionAPI.RemoveResponse> {
- private static Logger logger = LogManager.getLogger();
+ private static final Logger logger = LogManager.getLogger();
@Override
public Result<RegionAPI.RemoveResponse> process(SerializationService serializationService,
@@ -46,6 +46,7 @@ public class RemoveRequestOperationHandler
String regionName = request.getRegionName();
Region region = executionContext.getCache().getRegion(regionName);
if (region == null) {
+ logger.error("Received Remove request for non-existing region {}", regionName);
return Failure.of(ProtobufResponseUtilities
.makeErrorResponse(ProtocolErrorCode.REGION_NOT_FOUND.codeValue, "Region not found"));
}
@@ -57,9 +58,11 @@ public class RemoveRequestOperationHandler
return Success.of(RegionAPI.RemoveResponse.newBuilder().build());
} catch (UnsupportedEncodingTypeException ex) {
// can be thrown by encoding or decoding.
+ logger.error("Received Remove request with unsupported encoding: {}", ex);
return Failure.of(ProtobufResponseUtilities.createAndLogErrorResponse(
ProtocolErrorCode.VALUE_ENCODING_ERROR, "Encoding not supported.", logger, ex));
} catch (CodecNotRegisteredForTypeException ex) {
+ logger.error("Got codec error when decoding Remove request: {}", ex);
return Failure.of(ProtobufResponseUtilities.createAndLogErrorResponse(
ProtocolErrorCode.VALUE_ENCODING_ERROR, "Codec error in protobuf deserialization.",
logger, ex));
--
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].