Tzu-Li (Gordon) Tai created FLINK-20336:
-------------------------------------------
Summary: RequestReplyFunction should not silently ignore UNRECOGNIZED state value mutations types
Key: FLINK-20336
URL:
https://issues.apache.org/jira/browse/FLINK-20336 Project: Flink
Issue Type: Bug
Components: Stateful Functions
Affects Versions: statefun-2.2.1, statefun-2.1.0
Reporter: Tzu-Li (Gordon) Tai
Assignee: Tzu-Li (Gordon) Tai
Fix For: statefun-2.3.0, statefun-2.2.2
If a function's response has a {{PersistedValueMutation}} type that is {{UNRECOGNIZED}}, we currently just silently ignore that mutation:
https://github.com/apache/flink-statefun/blob/master/statefun-flink/statefun-flink-core/src/main/java/org/apache/flink/statefun/flink/core/reqreply/PersistedRemoteFunctionValues.java#L84This is incorrect. The {{UNRECOGNIZED}} enum constant is a pre-defined constant used by the Protobuf Java SDK, to represent a constant that was unable to be deserialized (because the the serialized constant does not match any enums defined in the protobuf message).
Therefore, it should be handled by throwing an exception, preferably indicating that there is some sort of version mismatch between the function's Protobuf message definitions, and StateFun's Protobuf message definitions (i.e. most likely a mismatch in the invocation protocol versions).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)