TL;DR: snowflake-connector-python 3.17.0 shipped a broken native Arrow iterator module. Upgrade to 3.17.1 or newer and the warning goes away; result fetching falls back to normal.

```text
WARNING:snowflake.connector.cursor:Failed to import ArrowResult. No Apache Arrow result set format can be used. ImportError: DLL load failed while importing nanoarrow_arrow_iterator: The specified module could not be found.
```

## Fix it

1. Check the version: pip show snowflake-connector-python. Expected: 3.17.0 if you hit this.
2. Upgrade: pip install -U "snowflake-connector-python>=3.17.1". Expected: Successfully installed snowflake-connector-python-3.17.1 (or newer).
3. Verify: run a query with cursor.execute("SELECT 1") and fetch. Expected: no ArrowResult warning in the logs.
4. Pin the working version in requirements so a fresh install does not land back on 3.17.0.

## When this applies
- The ArrowResult warning appears right after upgrading to 3.17.0, on any OS.

## When it doesn't
- You see "incompatible version of pyarrow" instead: that is the separate pyarrow pin warning, fixed by installing a compatible pyarrow.
- Queries fail for other reasons: this warning only affects the Arrow result format, not connectivity.

## Compatibility
- snowflake-connector-python >= 3.17.1. Python 3.8+.

## Why it happens
The 3.17.0 release packaged a nanoarrow iterator extension that failed to load on some setups, so the connector logged the warning and fell back from the Arrow result format. The 3.17.1 patch fixed the packaging.

## Edge cases
- The warning is non-fatal: queries still run, just without Arrow acceleration, so a noisy log is the main symptom.
- If the upgrade is blocked, the warning can be ignored short-term; functionality is unaffected.
