weiqingy commented on issue #872:
URL: https://github.com/apache/flink-agents/issues/872#issuecomment-4897967684

   Following up on the portability check I said I'd run before locking the 
format.
   
   Outcome: the Kryo binary does not need to be portable across the Flink 
lines, because the recovery state never crosses them. `ActionState` is a 
checkpoint-scoped durable-execution journal — pruned on 
`notifyCheckpointComplete` and rebuilt from the checkpointed marker on 
`initializeState()` — so it is always written and read within one deployment, 
by the same code and the same Flink version. It never survives a Flink-version 
move or a code upgrade.
   
   That makes both Kryo liabilities moot here: the shaded-Kryo difference 
across the 1.x→2.x boundary is never exercised, and neither is Kryo's 
class-schema-evolution brittleness, since write and read are always the same 
code version.
   
   So the format is unchanged from what we converged on — `{ "serde": "kryo", 
"version": 1, "payload": "<base64>" }`, field-scoped to `MemoryUpdate.value`, 
with the Event field staying JSON. The `version` tag carries the on-disk format 
marker for the recovery-compat contract, and Kryo stays pinned within the major 
release via the cluster's Flink.
   
   On the build side: `ActionStateSerde` is compiled once against the default 
Flink (now 2.3.0) and re-shaded, not recompiled, into each `dist/flink-*` line 
(1.20/2.0/2.1/2.2/2.3). The construction path — 
`TypeInformation.of(Object.class).createSerializer(SerializerConfig)` → 
`KryoSerializer` — is present and identical across those lines, so the single 
compiled artifact links on all of them.
   
   PR: #874. It supersedes #871's narrow `__flink_agents_bytes__` envelope, 
base `main`.
   


-- 
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]

Reply via email to