[
https://issues.apache.org/jira/browse/IGNITE-28901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18101544#comment-18101544
]
Anton Vinogradov commented on IGNITE-28901:
-------------------------------------------
[Ignite PR Checker|https://ignite-pr-checker.is-a.dev/?pr=13428] verdict for PR
13428 · RunAll build [9250889|https://ci2.ignite.apache.org/build/9250889] ·
147 suites ran, 0 reused
(x) *1 blocker(s) in 1 suite(s):*
- Snapshots 2: {{org.apache.ignite.testsuites.IgniteSnapshotTestSuite2:
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotMXBeanTest.testCreateSnapshot[encryption=false,
onlyPrimay=false]}}
⏳ _Auto re-run *#1* in progress — 1 blocker suite(s) re-queued (attempt 1/2),
*≈ settled by 04:19 MSK*. This comment updates when they settle._
> 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: 1h
> 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)