nats-io/nats-server · error
config reload not supported for jetstream max memory and max
Error message
config reload not supported for jetstream max memory and max store
What it means
Config reload (SIGHUP) rejects changes to JetStream max_memory and max_storage because these limits cannot be applied to a running JetStream instance; the generic option-diff fallback in the reload path catches the changed field and aborts the whole reload with the old and new values. Fired only when a reload actually changes these fields.
Source
Thrown at server/reload.go:1992
if add, del := diffProxiesTrustedKeys(old.Trusted, new.Trusted); len(add) > 0 || len(del) > 0 {
diffOpts = append(diffOpts, &proxiesReload{add: add, del: del})
}
default:
// TODO(ik): Implement String() on those options to have a nice print.
// %v is difficult to figure what's what, %+v print private fields and
// would print passwords. Tried json.Marshal but it is too verbose for
// the URL array.
// Bail out if attempting to reload any unsupported options.
return nil, fmt.Errorf("config reload not supported for %s: old=%v, new=%v",
field.Name, oldValue, newValue)
}
}
// If not disabling JS but limits have changed then it is an error.
if !disableJS {
if jsMemLimitsChanged || jsFileLimitsChanged {
return nil, fmt.Errorf("config reload not supported for jetstream max memory and max store")
}
if jsStoreDirChanged {
return nil, fmt.Errorf("config reload not supported for jetstream storage dir")
}
}
return diffOpts, nil
}
func copyRemoteGWConfigsWithoutTLSConfig(current []*RemoteGatewayOpts) []*RemoteGatewayOpts {
l := len(current)
if l == 0 {
return nil
}
rgws := make([]*RemoteGatewayOpts, 0, l)
for _, rcfg := range current {
cp := *rcfg
cp.TLSConfig = nilView on GitHub (pinned to 3a66a489d2)
Solutions
- Revert max_memory/max_storage in the config to their current runtime values and reload again
- Restart the nats-server process to apply new JetStream memory/storage limits
- Keep these fields in a separate config used only at initial startup
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at server/reload.go:1992 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nats-io/nats-server@3a66a489d2 (2026-09-02).
Data as JSON: /api/errors/2313081661e5e06e.
Report an issue: GitHub.