weiqingy commented on issue #872:
URL: https://github.com/apache/flink-agents/issues/872#issuecomment-4895789798
Thanks both — that settles it. I'll take #872 forward as a single
binary-serde change:
- Kryo directly for `MemoryUpdate.value`, embedded as a versioned envelope
inside the ActionState JSON — going with @zxs1633079383's `{serde, version,
payload}` shape so the recovery-compat contract (serializer id + version,
upgrade expectations) is explicit on-disk. Event stays JSON.
- Pin Kryo within the major release for state compat, and document what's
guaranteed across releases.
- One PR that supersedes #871's narrow `__flink_agents_bytes__` envelope,
base `main` for 0.4.
- Tests: top-level + nested `byte[]`, top-level + nested `Long`, plus a
custom value object.
One thing I'll verify before locking the format and report back: whether the
Kryo binary stays portable across the Flink lines we build against
(1.20/2.0/2.1/2.2) — `KryoSerializer` construction and the shaded-Kryo version
differ between Flink 1.x and 2.x, so I want to confirm recovery state doesn't
need to cross those. Will follow up here if it changes the shape.
--
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]