Anton Vinogradov created IGNITE-28936:
-----------------------------------------

             Summary: Remove dead marshalling code from 
GridDhtAtomicUpdateRequest
                 Key: IGNITE-28936
                 URL: https://issues.apache.org/jira/browse/IGNITE-28936
             Project: Ignite
          Issue Type: Sub-task
          Components: messaging
            Reporter: Anton Vinogradov
            Assignee: Anton Vinogradov
             Fix For: 2.19


h3. Goal

Delete unreachable marshalling machinery and the wire fields that always travel 
empty.

h3. Why

{{GridDhtAtomicUpdateRequest#forceTransformBackups}} is passed {{false}} from 
both places that create the message - {{GridDhtAtomicUpdateFuture}} and 
{{GridDhtAtomicSingleUpdateFuture}}. Every branch guarded by that flag is 
therefore dead: entry processors are never collected, so the hand-written 
{{marshal}}/{{unmarshal}} never has anything to write, and three collection 
fields always stay {{null}} on the wire.

h3. How

* drop the transient {{entryProcessors}}, {{nearEntryProcessors}}, 
{{invokeArgs}} and the wire fields {{@Order(12) entryProcessorsBytes}}, 
{{@Order(13) nearEntryProcessorsBytes}}, {{@Order(14) invokeArgsBytes}};
* drop {{@Order(11) forceTransformBackups}} together with the constructor 
parameter, simplifying both call sites;
* drop the hand-written {{marshal(Marshaller)}} / {{unmarshal(Marshaller, 
ClassLoader)}}, the {{MarshallableMessage}} interface and 
{{@UseBinaryMarshaller}} on the class;
* renumber the remaining {{@Order}} fields.

h3. Expected result

One boolean and three always-null collection fields disappear from every DHT 
atomic update request. The class stops being marshallable at all, so it no 
longer needs a marshaller or a mark, and one of the 11 meaningful annotations 
is gone.

h3. How to verify

Atomic cache suites including {{EntryProcessor}}/transform paths and near-cache 
updates; full build with {{-Pcheckstyle}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to