fn render_actors(
fragments: &StreamJobFragmentsToCreate,
database_info: &InflightDatabaseInfo,
definition: &str,
ctx: &StreamContext,
streaming_job_model: &Model,
actor_id_counter: &AtomicU32,
worker_map: &HashMap<WorkerId, WorkerNode>,
adaptive_parallelism_strategy: AdaptiveParallelismStrategy,
ensembles: &[NoShuffleEnsemble],
database_resource_group: &str,
) -> MetaResult<RenderResult>Expand description
Render actors for a create or replace streaming job.
This determines the parallelism for each no-shuffle ensemble (either from an existing
inflight upstream or computed fresh), and produces StreamActor instances with worker
placements and actor-level no-shuffle mappings.
The process follows three steps:
- For each ensemble, resolve
EnsembleActorTemplate(from existing or fresh). - For each new component fragment, allocate actor IDs and compute worker/vnode assignments.
- Expand the simple assignments into full
StreamActorstructures.