fn diff_fragment(
prev_fragment_info: &InflightFragmentInfo,
curr_actors: &HashMap<ActorId, InflightActorInfo>,
upstream_fragments: HashMap<FragmentId, DispatcherType>,
downstream_fragments: HashMap<FragmentId, DispatcherType>,
all_actor_dispatchers: HashMap<ActorId, Vec<PbDispatcher>>,
job_extra_info: Option<&StreamingJobExtraInfo>,
) -> MetaResult<Reschedule>Expand description
Build a Reschedule by diffing the previously materialized fragment state against
the newly rendered actor layout.
This function assumes a full rebuild (no kept actors) and produces:
- actor additions/removals and vnode bitmap updates
- dispatcher updates for upstream/downstream fragments
- updated split assignments for source actors
upstream_fragments/downstream_fragments describe neighbor fragments and dispatcher types,
while all_actor_dispatchers contains the new dispatcher list for each actor. job_extra_info
supplies job-level context for building new actors.