weaviate/weaviate · error
updating inverted index config
Error message
updating inverted index config
What it means
Updating the inverted-index config of an existing class failed: the new config was assigned and then a derived step broke — rebuilding the stopword detector from config, building preset detectors, or installing the custom tokenizer dictionary. The in-memory config may be half-applied (lock held during the whole update mitigates concurrent reads).
Source
Thrown at adapters/repos/db/index.go:1329
i.invertedIndexConfigLock.Lock()
defer i.invertedIndexConfigLock.Unlock()
i.invertedIndexConfig = updated
err := i.stopwords.ReplaceDetectorFromConfig(updated.Stopwords)
if err != nil {
return fmt.Errorf("update inverted index config: %w", err)
}
presetDetectors, err := stopwords.BuildPresetDetectors(updated.StopwordPresets)
if err != nil {
return fmt.Errorf("update inverted index config: %w", err)
}
i.stopwordProvider.Store(stopwords.NewProvider(i.stopwords, presetDetectors))
err = tokenizer.AddCustomDict(i.Config.ClassName.String(), updated.TokenizerUserDict)
if err != nil {
return errors.Wrap(err, "updating inverted index config")
}
return nil
}
// getStopwordProvider returns the current stopword provider, which bundles
// the collection-level fallback detector and the cached user-defined preset
// detectors. Safe for concurrent use without invertedIndexConfigLock.
func (i *Index) getStopwordProvider() *stopwords.Provider {
return i.stopwordProvider.Load()
}
func (i *Index) asyncReplicationGloballyDisabled() bool {
if i.globalreplicationConfig == nil {
return false
}
return i.globalreplicationConfig.AsyncReplicationDisabled.Get()
}View on GitHub (pinned to 75aa4b6d11)
Solutions
- Read the wrapped cause: invalid stopword preset, bad user dictionary, or tokenizer config
- Correct the offending part of the invertedIndexConfig update
- Retry the schema update after fixing; verify stopwords/tokenizer behave on a test class first
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at adapters/repos/db/index.go:1329 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04).
Data as JSON: /api/errors/0eba93e4a3ff9f78.
Report an issue: GitHub.