[ https://issues.apache.org/jira/browse/IGNITE-28901 ]


    Ignite TC Bot deleted comment on IGNITE-28901:
    ----------------------------------------

was (Author: ignitetcbot):
[release-note-manual-review]
Available public evidence indicates an internal message-handling change and 
does not establish a user-facing release-note impact.

> Revise GridEventStorageMessage filters (un)marshalling
> ------------------------------------------------------
>
>                 Key: IGNITE-28901
>                 URL: https://issues.apache.org/jira/browse/IGNITE-28901
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Anton Vinogradov
>            Assignee: Anton Vinogradov
>            Priority: Major
>              Labels: IEP-132, wire-format
>             Fix For: 2.19
>
>          Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> GridEventStorageMessage carries the remote event filter as a manual byte[] 
> blob (filterBytes/filter) with a hand-written deferred unmarshal step: 
> finishUnmarshalFilters(marsh, filterClsLdr) is invoked by 
> GridEventStorageManager at processing time, once the peer-deployment class 
> loader for the filter is resolved.
> This is the only (un)marshalling in core left outside the 
> generated-marshaller flow (IGNITE-28520): the generated unmarshal runs at 
> receive time with the configuration/peer loader available then, while the 
> filter must be deserialized later with a loader resolved per-filter from 
> deployment info, so @Marshalled cannot express it.
> Options to explore:
> * a deferred flavour of @Marshalled: the companion stays serialized at 
> receive; a generated unmarshalDeferred(ClassLoader) restores it on demand;
> * or keep the manual step but align its naming/shape with the 
> marshal/unmarshal hook family and document why it is manual.
> Follow-up of IGNITE-28520.



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

Reply via email to