Github user pivotal-amurmann commented on a diff in the pull request:

    https://github.com/apache/geode/pull/646#discussion_r128618059
  
    --- Diff: 
geode-protobuf/src/main/java/org/apache/geode/protocol/protobuf/ProtobufOpsProcessor.java
 ---
    @@ -15,32 +15,35 @@
     package org.apache.geode.protocol.protobuf;
     
     import org.apache.geode.cache.Cache;
    -import org.apache.geode.protocol.exception.InvalidProtocolMessageException;
    -import org.apache.geode.protocol.operations.OperationHandler;
    -import 
org.apache.geode.protocol.operations.registry.OperationsHandlerRegistry;
    -import 
org.apache.geode.protocol.operations.registry.exception.OperationHandlerNotRegisteredException;
    +import org.apache.geode.protocol.operations.OperationContext;
    +import org.apache.geode.protocol.operations.Result;
    +import 
org.apache.geode.protocol.operations.registry.OperationContextRegistry;
     import org.apache.geode.serialization.SerializationService;
     
     /**
      * This handles protobuf requests by determining the operation type of the 
request and dispatching
      * it to the appropriate handler.
      */
     public class ProtobufOpsProcessor {
    -  private final OperationsHandlerRegistry opsHandlerRegistry;
    +
    +  private final OperationContextRegistry operationContextRegistry;
       private final SerializationService serializationService;
     
    -  public ProtobufOpsProcessor(OperationsHandlerRegistry opsHandlerRegistry,
    -      SerializationService serializationService) {
    -    this.opsHandlerRegistry = opsHandlerRegistry;
    +  public ProtobufOpsProcessor(SerializationService serializationService,
    +      OperationContextRegistry operationsContextRegistry) {
         this.serializationService = serializationService;
    +    this.operationContextRegistry = operationsContextRegistry;
       }
     
    -  public ClientProtocol.Response process(ClientProtocol.Request request, 
Cache cache)
    -      throws OperationHandlerNotRegisteredException, 
InvalidProtocolMessageException {
    +  public ClientProtocol.Response process(ClientProtocol.Request request, 
Cache cache) {
         ClientProtocol.Request.RequestAPICase requestType = 
request.getRequestAPICase();
    -    OperationHandler opsHandler =
    -        
opsHandlerRegistry.getOperationHandlerForOperationId(requestType.getNumber());
    +    OperationContext operationContext = 
operationContextRegistry.getOperationContext(requestType);
    --- End diff --
    
    Currently we are getting a NPE for those which is awful and already lead to 
wasted time debugging the non-obvious error. Let's go back to throwing 
something specific.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to