Aleksandr Chesnokov created IGNITE-28294:
--------------------------------------------
Summary: Fix direct nested container serialization for
Map/Collection fields
Key: IGNITE-28294
URL: https://issues.apache.org/jira/browse/IGNITE-28294
Project: Ignite
Issue Type: Bug
Reporter: Aleksandr Chesnokov
Assignee: Aleksandr Chesnokov
Attachments: IGNITE-26568_Remove_CacheEntryInfoCollection.patch
Steps to reproduce:
1) Replace type of GridDhtPartitionSupplyMessage#infos to
Map<Integer, List<GridCacheEntryInfo>> (see patch from attachments)
2) Generate serializers
3) Run GridJdkMarshallerSelfTest#testMessaging. There will be
{noformat}
org.apache.ignite.IgniteException: Invalid message type: 259 at
org.apache.ignite.internal.managers.communication.IgniteMessageFactoryImpl.create(IgniteMessageFactoryImpl.java:142)
at
org.apache.ignite.spi.communication.tcp.internal.GridNioServerWrapper$2.create(GridNioServerWrapper.java:830)
at
org.apache.ignite.internal.direct.stream.DirectByteBufferStream.readMessage(DirectByteBufferStream.java:1570)
at
org.apache.ignite.internal.direct.stream.DirectByteBufferStream.read(DirectByteBufferStream.java:2242)
at
org.apache.ignite.internal.direct.stream.DirectByteBufferStream.readCollection(DirectByteBufferStream.java:1664)
at
org.apache.ignite.internal.direct.stream.DirectByteBufferStream.read(DirectByteBufferStream.java:2236)
at
org.apache.ignite.internal.direct.stream.DirectByteBufferStream.readMap(DirectByteBufferStream.java:1716)
at
org.apache.ignite.internal.direct.DirectMessageReader.readMap(DirectMessageReader.java:416){noformat}
Looks like the root cause is that nested containers are still serialized
through the same DirectByteBufferStream instance. We should switch to the
stream from the new nested state instead
--
This message was sent by Atlassian Jira
(v8.20.10#820010)