<!-- llms-explorer concept facts · https://llms-explorer.com/tree/atlas-stream-processing-partition-idleness-versus-window-idleness/ · pack 2026-10-29 · ~972 tokens -->

# Atlas Stream Processing partition idleness versus window idleness

> Source-anchored research for Atlas Stream Processing partition idleness versus window idleness. Run status: COMPLETED.

Parent: [MongoDB Atlas Stream Processing](https://llms-explorer.com/tree/mongodb-atlas-stream-processing/) · 2 facets · 9 facts · page: https://llms-explorer.com/tree/atlas-stream-processing-partition-idleness-versus-window-idleness/

## How it works

- For $tumblingWindow and $hoppingWindow, idleTimeout controls closing windows when $source is idle. It belongs to the window stage; partitionIdleTimeout belongs to $source and governs individual Kafka partitions. (high confidence) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/sp-agg-tumbling.md)
- Both tumbling and hopping references prohibit idleTimeout and allowedLateness when boundary is processingTime. Their documented boundary default is eventTime. (high confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/sp-agg-tumbling.md)
- Independent conceptual context: Apache Flink and Confluent describe downstream watermarks as constrained by the slowest parallel input; Apache documents idleness detection to prevent inactive inputs from stalling progress. These sources explain the general mechanism, not Atlas timer implementation. (medium confidence) — [source](https://nightlies.apache.org/flink/flink-docs-release-2.3/docs/dev/datastream/event-time/generating_watermarks/)

## Facts and statements

- With a Kafka source, an idle partition can prevent watermark progress and leave a window without output. The architecture reference identifies partitionIdleTimeout as the mitigation; MongoDB diagnostic guidance also lists this condition for a STARTED processor with zero windowed output. (high confidence) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/architecture.md)
- The $source reference documents partitionIdleTimeout as disabled by default. Its duration uses size and unit, supporting ms, second, minute, hour, or day. This default was verified in the 2026-10-14 documentation snapshot. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/sp-agg-source.md)
- Both window-stage references say the idle timer starts as soon as $source becomes idle, and describe closing after the greater of the remaining window time and idleTimeout. Their example closes a 12:00–13:00 window last active at 12:02 at 14:02 for a two-hour timeout, or at 13:00 for a ten-minute timeout. Treat this as reference behavior pending resolution of the architecture-page discrepancy. (medium confidence) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/sp-agg-tumbling.md)
- A published MongoDB pipeline example combines a five-second partitionIdleTimeout on Kafka $source with a ten-second idleTimeout on a thirty-second tumbling window. These durations are settings in that example, not universal recommendations. (medium confidence) — [source](https://medium.com/mongodb/joins-with-late-data-handling-in-atlas-stream-processing-28219d365714)
- Forced window progress has a lateness consequence: events arriving after their window closes are late, and Atlas can route them to a configured dead letter queue. Choosing an idleness timeout therefore needs to account for expected event delays. (medium confidence) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/architecture.md)
- Diagnostic inference: distinguish one silent Kafka partition while other partitions produce data from source-wide silence. Inspect partitionIdleTimeout for the former and window idleTimeout for the latter; the settings address different progress conditions. (medium confidence) — [source](https://www.mongodb.com/docs/atlas/atlas-stream-processing/architecture.md)
