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#L84
This 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)