Skip to content

Support Java records in binary marshaller - #13503

Open
kush2439p wants to merge 3 commits into
apache:masterfrom
kush2439p:patch-1
Open

Support Java records in binary marshaller#13503
kush2439p wants to merge 3 commits into
apache:masterfrom
kush2439p:patch-1

Conversation

@kush2439p

Copy link
Copy Markdown

Summary

Routes Java records through Ignite's optimized Java-serialization path. This avoids attempting to obtain unsafe field offsets for immutable record components, which current JDKs reject.

Changes

  • Detect records with Class.isRecord().
  • Use OptimizedMarshaller for records.
  • Include records in the fallback-serialization warning.
  • Add a Java 17 serializable-record round-trip regression test.

Verification

  • Added BinaryMarshallerSelfTest.testRecord.
  • CI pending; local execution was unavailable because the working drive is full.

Closes #13286

@kush2439p

Copy link
Copy Markdown
Author

@zstan This supersedes #13391 and follows the requested direction: it targets master, uses direct Class.isRecord() detection, and adds a static Java 17 regression test. I do not have an Apache JIRA account to create the required ticket; could you please advise the appropriate JIRA key (or create one) so I can update the title and link it? The corresponding GitHub report is #13286.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Hibernate 7 compatibility (Ignite 2.x + records problem)

1 participant