# Join Explosion

### Condition

Join with equality condition causes uncontrolled explosion of result set for `RUNNING` query.

### How to fix

* Check join conditions and actual data in joined columns. Make sure the join condition is correct.
* Consider adding additional filters to reduce the scale of explosion. Avoid many-to-many joins.

### Example

```
    JoinExplosionCondition(
        min_output_rows=10_000_000,  # join emits at least 10M output rows
        min_explosion_rate=10,  # ratio of output rows to input rows is at least 10x
        warning_duration=60 * 10,  # 10 minutes for warning
        kill_duration=60 * 20,  # 20 minutes for kill
    ),
```

### Specific arguments

* **min\_output\_rows** (int) - how many rows should be produced by `Join` (recommended min value is at least 1 million to prevent false positives)
* **min\_explosion\_rate** (float) - how many times number of output rows produced by `Join` is higher than number of input rows (recommended min value is at least 5)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.snowkill.net/condition/built-in-conditions/join-explosion.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
