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)

Reply via email to