## TL;DR

The Bulk API 2.0 query job took too long and polling timed out. Poll with a longer horizon, check the job state properly, and break huge queries into smaller ones.

## Error

```text
bulk query job polling timed out
```

## Steps

1. Check the job's actual state in the API Expected: you see whether it finished.
2. Extend the poll timeout and interval Expected: slow jobs are awaited.
3. If the job failed, read its error Expected: you know why.
4. Split huge queries into smaller jobs Expected: each finishes in time.

## When to use

- Bulk query poll timeout
- The job outlasted the poller

## When not to use

- The job is done (then just fetch the results)
- The job failed (then fix the query)

## Tool compatibility

- Salesforce Bulk API 2.0
- Large extracts

## Variant phrasings

### bulk api poll timed out

Extend the poll horizon and check the real job state.

### query job timeout salesforce

Same: the poller gave up before the job finished.

## Why it happens

Agents poll with short timeouts tuned for small jobs. Big extracts take tens of minutes.

## Edge cases

- Jobs expire; fetch results before the expiry
- Failed jobs keep their error; read it

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_lYDi4sWGATX3bkOUCllFNg
