anton-vinogradov commented on code in PR #13095:
URL: https://github.com/apache/ignite/pull/13095#discussion_r3580219375
##########
modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheMetricsCacheSizeTest.java:
##########
@@ -106,8 +106,6 @@ public void testCacheSize() throws Exception {
msg.addServerCacheMetrics(srvrId, cacheMetrics);
MessageFactory msgFactory =
((TcpDiscoverySpi)grid(0).context().discovery().getInjectedDiscoverySpi()).messageFactory();
- MessageSerializer msgSerializer =
msgFactory.serializer(msg.directType());
Review Comment:
Fixed.
##########
modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerImplSelfTest.java:
##########
@@ -713,6 +715,14 @@ private static class StaleTopologyCommunicationSpi extends
TcpCommunicationSpi {
ioMsg.skipOnTimeout()
);
+ try {
+
MessageMarshaller.marshal(((IgniteEx)ignite).context().messageFactory(),
Review Comment:
Nothing is broken in `GridIoManager`. The test's SPI rebuilds a fresh
`DataStreamerRequest`/`GridIoMessage` to inject a stale topology version —
which bypasses `GridIoManager.prepare()`, and in this PR's model that's where
marshalling happens (populating the companion byte fields, i.e. the entries'
`CacheObject.valBytes`), separately from serialization. On master marshal and
serialize weren't split, so a rebuilt message was ready to send; here a message
constructed outside `prepare()` has to be marshalled explicitly. Empirically:
without this call `testRetryWhenTopologyMismatch` times out at 300s (the
entries reach the wire unmarshalled → the receiver can't rebuild the request →
the remap never completes); with it the test passes in ~1.5s.
--
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]