Barrett Oglesby created GEODE-8992:
--------------------------------------

             Summary: When a GatewaySenderEventImpl is serialized, its 
operationDetail field is not included
                 Key: GEODE-8992
                 URL: https://issues.apache.org/jira/browse/GEODE-8992
             Project: Geode
          Issue Type: Bug
          Components: wan
            Reporter: Barrett Oglesby


This causes the operation to become less specific when the 
{{GatewaySenderEventImpl}} is deserialized.

Here is an example.

If the original {{GatewaySenderEventImpl}} is a *PUTALL_CREATE* like:
{noformat}
GatewaySenderEventImpl[id=EventID[id=31 
bytes;threadID=0x10063|1;sequenceID=0;bucketId=99];action=0;operation=PUTALL_CREATE;region=/data;key=0;value=0;...]
{noformat}
Then, when the {{GatewaySenderEventImpl}} is serialized and deserialized, its 
operation becomes a *CREATE*:
{noformat}
GatewaySenderEventImpl[id=EventID[id=31 
bytes;threadID=0x10063|1;sequenceID=0;bucketId=99];action=0;operation=CREATE;region=/data;key=0;value=0;...]
{noformat}
Thats because {{GatewaySenderEventImpl.getOperation}} uses both *action* and 
*operationDetail* to determine its operation:
{noformat}
public Operation getOperation() {
  Operation op = null;
  switch (this.action) {
    case CREATE_ACTION:
      switch (this.operationDetail) {
        case ...
        case OP_DETAIL_PUTALL:
          op = Operation.PUTALL_CREATE;
          break;
        default:
          op = Operation.CREATE;
          break;
      }
    ...
{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to