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)