Nexus "no space left on device" / blob store out of space in CI
Nexus writes every artifact to a blob store on disk. When that volume fills, uploads fail with "no space left on device" or a 500 from Nexus. Reclaim space with cleanup policies and compaction, or grow the volume.
What this error means
Deploys and docker pushes start failing after previously working; Nexus logs show "java.io.IOException: No space left on device" and uploads return errors.
Caused by: java.io.IOException: No space left on device
at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method)
# CI side:
status code: 500, reason phrase: Internal Server Error (500)Common causes
The blob store volume is full
Accumulated releases, snapshots, and Docker layers filled the disk backing the blob store, so no new blob can be written.
Deleted components not yet compacted
Deleting components marks blobs as soft-deleted; space is only reclaimed after the Compact blob store task runs.
How to fix it
Run cleanup policies and compact the blob store
- Create cleanup policies (for example remove old snapshots) and assign them to repositories.
- Run the "Cleanup unused ... components" and "Compact blob store" tasks.
- Re-run the failed upload once space is reclaimed.
# In Nexus: System, Tasks
# - Admin - Cleanup repositories using their associated policies
# - Admin - Compact blob store (reclaims soft-deleted blobs)Expand the blob store volume
If cleanup is not enough, grow the disk or move the blob store to a larger volume so uploads have headroom.
How to prevent it
- Attach cleanup policies to snapshot and Docker repos.
- Schedule the Compact blob store task regularly.
- Alert on blob store disk usage before it fills.