juicedata/juicefs · error
no available cache dir
Error message
no available cache dir
What it means
Returned by cacheManager.load when no cache store is currently available — every configured cache directory failed health checks or is in a backoff state, so there is nowhere to read a cached block from. Reads then fail at the cache layer and fall back to object storage by the caller's design.
Source
Thrown at pkg/chunk/cache_manager.go:264
}
func (m *cacheManager) cache(key string, p *Page, force, dropCache bool) {
store := m.getStore(key)
if store != nil {
store.cache(key, p, force, dropCache)
}
}
type ReadCloser interface {
// io.Reader
io.ReaderAt
io.Closer
}
func (m *cacheManager) load(key string) (ReadCloser, error) {
store := m.getStore(key)
if store == nil {
return nil, errors.New("no available cache dir")
}
r, err := store.load(key)
if err == errNotCached {
legacy := m.getStoreLegacy(key)
if legacy != store && legacy != nil {
r, err = legacy.load(key)
}
}
return r, err
}
func (m *cacheManager) exist(key string) (string, bool) {
store := m.getStore(key)
if store == nil {
return "", false
}
loc := store.dir
existed, err := store.exist(key)View on GitHub (pinned to c9a67b23e8)
Solutions
- Check cache dir free space, permissions, and errors in the mount log
- Ensure --cache-dir points to a writable, healthy directory and enough free space remains (free-space ratio)
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at pkg/chunk/cache_manager.go:264 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of juicedata/juicefs@c9a67b23e8 (2026-09-06).
Data as JSON: /api/errors/b8f95cf9b7e93650.
Report an issue: GitHub.