[ 
https://issues.apache.org/jira/browse/GEODE-8992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Barrett Oglesby reassigned GEODE-8992:
--------------------------------------

    Assignee: Barrett Oglesby

> 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
>            Assignee: Barrett Oglesby
>            Priority: Major
>              Labels: blocks-1.15.0​
>
> 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