Skip to content

Require Kryo class registration in the state serializer - #8990

Merged
rzo1 merged 1 commit into
apache:masterfrom
GGraziadei:kryo-register-internal-classes
Aug 22, 2026
Merged

Require Kryo class registration in the state serializer#8990
rzo1 merged 1 commit into
apache:masterfrom
GGraziadei:kryo-register-internal-classes

Conversation

@GGraziadei

Copy link
Copy Markdown
Member

Controlled by topology.fall.back.on.java.serialization and aligned with the tuple path in DefaultKryoFactory, this mechanism registers core storm-persisted types (byte[], CheckPointState) without requiring component-level declarations. It also clears class resolver name caches on reset to maintain readability for state generated by earlier releases.

@GGraziadei GGraziadei self-assigned this Aug 21, 2026
@GGraziadei GGraziadei added this to the 3.1.0 milestone Aug 21, 2026
@GGraziadei
GGraziadei marked this pull request as ready for review August 21, 2026 17:43
Registration is keyed off topology.fall.back.on.java.serialization,
matching the tuple path in DefaultKryoFactory. Registers the types Storm
persists without the component declaring them (byte[], CheckPointState),
after the configured registrations so their ids are unaffected.

Clears the class resolver's name caches on reset: Kryo skips that when
registration is required, which would desynchronise a second read of
state written by an earlier release.
@GGraziadei
GGraziadei force-pushed the kryo-register-internal-classes branch from 93f9837 to 0185b58 Compare August 21, 2026 18:04
@rzo1
rzo1 merged commit 6d36a14 into apache:master Aug 22, 2026
7 checks passed
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.

2 participants