Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-8157

Key encoding for state requests is not consistent across SDKs

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.13.0
    • Fix Version/s: 2.17.0
    • Component/s: runner-flink, sdk-java-core
    • Labels:
      None

      Description

      The Flink runner requires the internal key to be encoded without a length prefix (OUTER context). The user state request handler exposes a serialized version of the key to the Runner. This key is encoded with the NESTED context which may add a length prefix. We need to convert it to OUTER context to match the Flink runner's key encoding.

      So far this has not caused the Flink Runner to behave incorrectly. However, with the upcoming support for Flink 1.9, the state backend will not accept requests for keys not part of any key group/partition of the operator. This is very likely to happen with the encoding not being consistent.

      *NOTE* This is only applicable to the Java SDK, as the Python SDK uses OUTER encoding for the key in state requests.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mxm Maximilian Michels
                Reporter:
                mxm Maximilian Michels
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 16h 50m
                  16h 50m