You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Tzu-Li (Gordon) Tai (Jira)" <ji...@apache.org> on 2020/11/25 04:30:00 UTC

[jira] [Created] (FLINK-20336) RequestReplyFunction should not silently ignore UNRECOGNIZED state value mutations types

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)