juicedata/juicefs · error
new session: %s
Error message
new session: %s
What it means
Returned by kvMeta.doNewSession when writing the session key with its expiry timestamp to the KV store fails. The client cannot register its session (needed for sustained inodes and locks), so session setup aborts; the wrapped error comes from the KV client.
Source
Thrown at pkg/meta/tkv.go:648
atomic.StoreInt64(&m.usedSpace, v)
} else {
logger.Warnf("Update space stats: %s", err)
}
}
if inodes := atomic.LoadInt64(&m.newInodes); inodes != 0 {
if v, err := m.incrCounter(totalInodes, inodes); err == nil {
atomic.AddInt64(&m.newInodes, -inodes)
atomic.StoreInt64(&m.usedInodes, v)
} else {
logger.Warnf("Update inodes stats: %s", err)
}
}
}
func (m *kvMeta) doNewSession(sinfo []byte, update bool) error {
if !m.getFormat().ChangeLog {
if err := m.setValue(m.sessionKey(m.sid), m.packInt64(m.expireTime())); err != nil {
return fmt.Errorf("new session: %s", err)
}
if err := m.setValue(m.sessionInfoKey(m.sid), sinfo); err != nil {
return fmt.Errorf("new session: %s", err)
}
return nil
}
err := m.txn(Background(), func(tx *kvTxn) error {
tx.set(m.sessionKey(m.sid), m.packInt64(m.expireTime()))
tx.set(m.sessionInfoKey(m.sid), sinfo)
m.genLog(tx, time.Now(), "NEWSESSION(%d,%d,%s)", m.sid, m.expireTime(), logEncode(sinfo))
return nil
})
if err != nil {
return fmt.Errorf("new session: %s", err)
}
return nil
}
View on GitHub (pinned to c9a67b23e8)
Solutions
- Check KV store health and network connectivity
- Retry mounting once transient store issues resolve
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/meta/tkv.go:648 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/2f88c4f8783aef98.
Report an issue: GitHub.