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

  1. Read the wrapped cause: invalid stopword preset, bad user dictionary, or tokenizer config
  2. Correct the offending part of the invertedIndexConfig update
  3. 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.