## TL;DR
Find where the upload actually stops before changing code: large checkpoints fail on artifact store limits, multipart timeouts, or a proxied tracking server, not in log_artifact itself. Check the file size against the store's single-object and proxy limits, confirm free space or quota on the destination, and for server-proxied uploads raise the server's upload handling or write the artifact directly to the store path.

```text
mlflow.log_artifact failed upload error for large checkpoint file
```

## Use this when
- The run or call fails with this symptom: mlflow.log_artifact upload fails for a large checkpoint file.
- You are working on an MLflow run logging a large model checkpoint as an artifact and the failure repeats on the same run or configuration.
- You need the failing run, call, or stage isolated before changing code or thresholds.

## Not for this skill when
- A small artifact failing with a permissions error, where the fix is store credentials rather than size handling.
- The error text names a different tool, stage, or root cause. Match the verbatim error first and use that skill.

## Steps
1. Note the checkpoint size and reproduce with a scratch file of the same size to separate size from content. Verify: a same-size test file fails or succeeds the same way
2. Check the artifact destination's limits and free capacity: bucket quota, filesystem space, and any proxy body-size limit in front of the tracking server. Verify: the binding limit is identified by name
3. Watch the upload error detail for multipart or timeout wording and note how many bytes or parts complete before failure. Verify: the failure point is consistent across attempts
4. Apply the matching fix: raise the proxy or server limit, switch to direct store access, or split the checkpoint, then re-upload. Verify: the full checkpoint lands in the run's artifact listing

## Variant phrasings
### mlflow log_artifact large file upload failed
The large-file phrasing.
### mlflow checkpoint artifact upload error size limit
The size-limit phrasing.
### mlflow artifact store upload fails big model file
The store phrasing.

Compatibility: MLflow 2.x and 3.x with local, S3, or other artifact stores

## Why it happens
log_artifact streams the file through whatever path the tracking setup uses, and each hop, server, proxy, and store, enforces its own size and timeout rules. The client surfaces a generic upload failure, so the hop that gives up has to be found by size testing and limit checking rather than from the error text.

## Edge cases / pitfalls
- Server-proxied artifact access is the usual bottleneck; a direct store URI in the run's artifact location bypasses it.
- Compress or shard genuinely huge checkpoints; some stores cap single objects regardless of proxy settings.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_-vp_WxDEkUpwRGZwLMbwOA
