Class InflightDataRescalingDescriptor.InflightDataGateOrPartitionRescalingDescriptor

  • All Implemented Interfaces:
    Serializable
    Enclosing class:
    InflightDataRescalingDescriptor

    public static class InflightDataRescalingDescriptor.InflightDataGateOrPartitionRescalingDescriptor
    extends Object
    implements Serializable
    Captures ambiguous mappings of old channels to new channels.

    For inputs, this mapping implies the following:

    • oldSubtaskIndexes is set when there is a rescale on this task potentially leading to different key groups. Upstream task has a corresponding rescaledChannelsMappings where it sends data over virtual channel while specifying the channel index in the VirtualChannelSelector. This subtask then demultiplexes over the virtual subtask index.
      rescaledChannelsMappings is set when there is a downscale of the upstream task. Upstream task has a corresponding oldSubtaskIndexes where it sends data over virtual channel while specifying the subtask index in the VirtualChannelSelector. This subtask then demultiplexes over channel indexes.

    For outputs, it's vice-versa. The information must be kept in sync but they are used in opposite ways for multiplexing/demultiplexing.

    Note that in the common rescaling case both information is set and need to be simultaneously used. If the input subtask subsumes the state of 3 old subtasks and a channel corresponds to 2 old channels, then there are 6 virtual channels to be demultiplexed.

See Also:
Serialized Form