Skip to content

IGNITE-28787 Use MessageSerializer for CacheClientReconnectDiscoveryData and CacheJoinNodeDiscoveryData#13254

Merged
shishkovilja merged 8 commits into
apache:masterfrom
shishkovilja:ignite-28787
Jul 16, 2026
Merged

IGNITE-28787 Use MessageSerializer for CacheClientReconnectDiscoveryData and CacheJoinNodeDiscoveryData#13254
shishkovilja merged 8 commits into
apache:masterfrom
shishkovilja:ignite-28787

Conversation

@shishkovilja

@shishkovilja shishkovilja commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

This PR refactors cache discovery data structures to use the new Message interface instead of Serializable for better network communication and marshalling control in Apache Ignite.

Changes

New Classes
 - `CacheJoinInfo.java`: New MarshallableMessage replacement for CacheJoinNodeDiscoveryData.CacheInfo - contains cache metadata sent during node join
 - `CacheReconnectInfo.java`: New Message for client reconnect scenarios - simplifies cache reconnect data by removing redundant nested classes

Modified Classes
 - `CacheClientReconnectDiscoveryData`: Changed from Serializable to Message, removed nested CacheGroupInfo and CacheInfo classes, now uses CacheReconnectInfo
 - `CacheJoinNodeDiscoveryData`: Changed from Serializable to Message, now uses CacheJoinInfo instead of nested CacheInfo class
 - `CacheGroupRecoveryState`: Added Message interface support for distributed recovery operations
 - `ClusterCacheGroupRecoveryData`: Added Message interface support, renamed field clusterBaselineTopologyVersion → clusterBaselineTopVer
 - `ClusterCachesInfo`: Updated to use new CacheJoinInfo and CacheReconnectInfo classes, simplified client reconnect data flow
 - `GridLocalConfigManager`: Updated to use CacheJoinInfo instead of nested classes
 - `ValidationOnNodeJoinUtils`: Updated type references to use new CacheJoinInfo
 - `CoreMessagesProvider`: Registered new Message classes with withNoSchemaResolvedClassLoader

Benefits
 - Consistent use of Message interface for distributed communication
 - Cleaner, flatter data structures without nested classes
 - Better control over marshalling/unmarshalling via prepareMarshal/finishUnmarshal
 - Simplified client reconnect data flow by removing cache group-level metadata

Related
 - Replaces nested serializable classes with top-level message classes
 - Part of ongoing migration from Serializable to Message interface

@shishkovilja shishkovilja changed the title IGNITE-28787 Use MessageSerializer for CacheClientReconnectDiscoveryData and CacheClientReconnectDiscoveryData IGNITE-28787 Use MessageSerializer for CacheClientReconnectDiscoveryData and CacheJoinNodeDiscoveryData Jun 19, 2026
@shishkovilja
shishkovilja force-pushed the ignite-28787 branch 2 times, most recently from 35e92c3 to a4f1181 Compare July 1, 2026 07:43
@ignitetcbot

Copy link
Copy Markdown
Contributor

TCBot Test Analysis

Possible Blockers (1)

  • Thin client: PHP: 0 tests Exit Code
    • Exit Code is a blocker. Base branch fail rate is 42,9%

New Tests (0)

No new tests found.

@ignitetcbot

Copy link
Copy Markdown
Contributor

TCBot Test Analysis

Possible Blockers (0)

No blockers found.

New Tests (0)

No new tests found.

@ignitetcbot

Copy link
Copy Markdown
Contributor

TCBot Test Analysis

Possible Blockers (0)

No blockers found.

New Tests (0)

No new tests found.

Co-authored-by: GigaCode Assistant <gigacode@sberbank.ru>
@github-actions

Copy link
Copy Markdown

Possible compatibility issues. Please, check rolling upgrade cases

This PR modifies protected classes (with Order annotation).
Changes to these classes can break rolling upgrade compatibility.

Affected files:

  • modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheJoinInfo.java
  • modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheReconnectInfo.java

@shishkovilja
shishkovilja merged commit 1639c6e into apache:master Jul 16, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants