Skip to content
Latchkey

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.

Nexus
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

  1. Create cleanup policies (for example remove old snapshots) and assign them to repositories.
  2. Run the "Cleanup unused ... components" and "Compact blob store" tasks.
  3. Re-run the failed upload once space is reclaimed.
Nexus tasks
# 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.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →