anton-vinogradov opened a new pull request, #13439:
URL: https://github.com/apache/ignite/pull/13439

   `StartRequestData` marshalled itself: `marshal(GridKernalContext)` and 
`unmarshal(GridKernalContext, UUID)` picked the marshaller, resolved the peer 
deployment and ran the p2p hooks — all from inside the message. This moves that 
work to `GridContinuousProcessor`, the only place that has the sender id, the 
deployment and a thread where marshalling is allowed. The message keeps its 
fields and nothing else.
   
   Nothing changes on the wire: the same eight `@Order` fields in the same 
order, the same marshaller, the same call order. What changes is where the 
marshaller is taken from — which is what IGNITE-28940 needs to switch it per 
transport.
   
   Two details worth a look:
   
   - The restored handler goes into the message right after it is read, before 
`p2pUnmarshal`. That order matters: `p2pUnmarshal` throws when the deployment 
is unavailable, and the caller still reads the handler afterwards to report the 
failure and stop the routine.
   - `nodeFilter` and `hnd` became package-private, like the other fields of 
the class; the processor lives in the same package and reads them directly, as 
it already did with `nodeFilterBytes` and `hndBytes`.
   
   Tested: `CacheContinuousQueryFilterDeploymentFailedTest`, 
`GridCacheContinuousQueryNodesFilteringTest`, 
`CacheContinuousQueryDeploymentToClientTest`, 
`CacheContinuousQueryAsyncFilterListenerTest`, 
`CacheContinuousQueryEventBufferTest`, `GridEventConsumeSelfTest` — green, 
checkstyle clean.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to