weaviate/weaviate · error

init nested prop %q: value bucket: %w

Error message

init nested prop %q: value bucket: %w

What it means

This error wraps a failure to create or load the per-property nested 'value' inverted-index bucket (StrategyRoaringSet) used by nested filtering. Weaviate throws it during shard property initialization (createNestedPropertyBuckets) when inverted.HasNestedFilterableIndex(prop) is true but CreateOrLoadBucket fails on helpers.BucketNestedFromPropNameLSM(prop.Name). The wrapped error carries the underlying cause (I/O, corrupt dir, bad strategy).

Source

Thrown at adapters/repos/db/shard_init_properties_nested.go:39

	"github.com/weaviate/weaviate/entities/models"
)

// createNestedPropertyBuckets creates the value and metadata buckets for a
// nested (object/object[]) property. Both use StrategyRoaringSet with keys
// prefixed by hash8(path) to multiplex all sub-properties into shared buckets.
func (s *Shard) createNestedPropertyBuckets(ctx context.Context, prop *models.Property,
	makeBucketOptions lsmkv.MakeBucketOptions,
) error {
	if err := s.isReadOnly(); err != nil {
		return err
	}

	if inverted.HasNestedFilterableIndex(prop) {
		if err := s.store.CreateOrLoadBucket(ctx,
			helpers.BucketNestedFromPropNameLSM(prop.Name),
			makeBucketOptions(lsmkv.StrategyRoaringSet)...,
		); err != nil {
			return fmt.Errorf("init nested prop %q: value bucket: %w", prop.Name, err)
		}
	}

	//nolint:staticcheck // intentionally empty, see comment below
	if inverted.HasNestedSearchableIndex(prop) {
		// TODO aliszka:nested_filtering create nested searchable bucket (Phase 2)
	}

	//nolint:staticcheck // intentionally empty, see comment below
	if inverted.HasNestedRangeableIndex(prop) {
		// TODO aliszka:nested_filtering create nested rangeable bucket (Phase 3)
	}

	if inverted.HasAnyNestedInvertedIndex(prop) {
		if err := s.store.CreateOrLoadBucket(ctx,
			helpers.BucketNestedMetaFromPropNameLSM(prop.Name),
			makeBucketOptions(lsmkv.StrategyRoaringSet)...,
		); err != nil {

View on GitHub (pinned to 75aa4b6d11)

Solutions

  1. Inspect the wrapped error from CreateOrLoadBucket for the root cause (I/O error vs strategy determination).
  2. Fix filesystem permissions / read-only mount so Weaviate can write under the shard's LSM path.
  3. If the specific nested bucket directory is corrupt, stop the node and restore the shard from backup or remove the shard dir on one replica for a rebuild.
  4. Run a Weaviate version that supports nested filterable buckets consistently across the cluster.
  5. Verify the index config (nestedFilterable) is intentional — disabling it avoids creating the bucket.

Example fix

// before: schema update with nested filtering on a read-only volume
//   {"invertedIndexConfig": {"indexNullState": true, ...nestedFilterable}}
// after: remount writable first
//   mount -o remount,rw /var/lib/weaviate
//   # then re-apply the schema update
Defensive patterns

Strategy: validation

Validate before calling

// before enabling nested filtering on a property, ensure shard dirs are writable
if err := syscall.Access(shardPath, unix.W_OK); err != nil {
    return fmt.Errorf("shard %s not writable: %w", shardPath, err)
}
// and confirm feature support in your version
if !supportsNestedFilterable(version) {
    return fmt.Errorf("nested filterable index unsupported in %s", version)
}

Try / catch

err := applySchema(ctx, class)
if err != nil {
    // wrapped chain: 'init nested prop %q: value bucket: <cause>'
    log.Errorf("schema apply failed: %v", err)
    if isFilesystemErr(err) { alertOps(err) }
}

Prevention

When it happens

Trigger: Creating/updating a schema class whose property has nested filtering enabled, during shard init, when the nested-value bucket cannot be created or loaded — corrupt bucket directory, unexpected strategy on disk, permission/read-only filesystem, or full disk.

Common situations: Enabling nested filtering (nestedFilterable index config) on a collection and hitting a torn bucket directory from a previous crash; read-only data volume; running multiple Weaviate versions against the same data dir where the nested bucket feature differs; permission problems after restoring a backup as root.

Related errors


AI-assisted analysis of weaviate/weaviate@75aa4b6d11 (2026-09-04). Data as JSON: /api/errors/7a4534d2e62ab777. Report an issue: GitHub.