An Azure service for ingesting, preparing, and transforming data at scale.
Hi Jan & thx for join me at Q&A platform,
A 19-minute delay before all six parallel data flows begin is definitely worth investigating, especially if the same pipeline normally starts much faster.
The first thing I'd clarify is that having TTL enabled on Azure Integration Runtime doesn't guarantee that a warm Spark cluster will always be available. TTL allows an eligible cluster to remain available for reuse after execution, but reuse depends on the cluster configuration, available capacity, and whether the previous cluster is still within its TTL window.
If ur ETL runs almost daily, the cluster from the previous day's execution will generally have expired long before the next run. In that case, Azure Data Factory may still need to provision a new Spark cluster, even with TTL configured.
However, 19 minutes is long enough that I wouldn't automatically blame cluster cold-start. The fact that all six activities appear to start together could indicate a shared dependency, Integration Runtime capacity issue, or scheduling delay.
I'd start by comparing the pipeline's start timestamp with the individual activity run timestamps. This helps determine whether the activities were waiting to be scheduled or whether they had already started and were waiting for Spark compute.
Next, open the affected data flow activity runs in ADF Monitor and check the detailed execution information, particularly any available queueing, cluster acquisition, startup, and execution timings. Compare those with a successful run from another day.
Also check whether all six data flows use the same Azure IR configuration, including compute type and core count. Six parallel data flows don't necessarily mean six independent Spark clusters, especially when TTL-based cluster reuse is involved. Depending on the configuration and concurrency limits, activities may share available compute or wait for capacity.
I'd also look at the timing of the preceding pipelines. If they're running sequentially, confirm that the affected pipeline's dependencies actually completed when expected and that no other pipeline runs were consuming the same Integration Runtime capacity.
If the delay is happening during cluster provisioning, it could be related to transient regional compute availability or backend provisioning delays. If the activities are queued before cluster acquisition, the investigation should focus more on concurrency and scheduling.
For mitigation, u could consider running a small warm-up data flow shortly before the main ETL workload, provided the cluster configuration supports reuse. But I'd verify where those 19 minutes are being spent first, bc warm-up won't help if the real problem is activity scheduling or backend queueing.
If this happens again, I'd open an Azure Data Factory support case with the affected pipeline run ID, all six activity run IDs, UTC timestamps, IR region, compute configuration, and TTL settings. Ask the engineering team to check service-side scheduling, Spark cluster allocation, and any regional capacity delays during that specific run.
One question: do the six data flow activities show a 19-minute gap before their activity start timestamps, or do they start immediately but spend 19 minutes initializing the Spark environment?
That distinction is probably the fastest way to narrow down the root cause.
rgds,
Alex
p.s. if my answer is help - pls mark it as an answer