weaviate/weaviate · error

bucket %s

Error message

bucket %s

What it means

bucketRef.acquire resolves the named lsmkv bucket and pins it against concurrent teardown. This wrapper fires when the store's Bucket lookup fails for the given name — the bucket is not registered (store teardown, naming mismatch) — so the caller cannot obtain a usable bucket handle.

Source

Thrown at adapters/repos/db/vector/hfresh/store.go:77

func newBucketRef(store *lsmkv.Store, name string) bucketRef {
	return bucketRef{store: store, name: name}
}

// acquire resolves the bucket and pins it against teardown, or reports that
// the store no longer holds it ([lsmkv.ErrBucketNotFound]) or that the ref was
// never initialized ([errUninitializedBucketRef]). The pin blocks a concurrent
// bucket shutdown, so callers MUST call the returned release exactly once —
// deferring it at the call site — and MUST NOT retain the bucket beyond it.
func (r bucketRef) acquire() (*lsmkv.Bucket, func(), error) {
	if r.store == nil {
		return nil, nil, errUninitializedBucketRef
	}

	bucket, release := r.store.AcquireBucketForRead(r.name)
	if bucket == nil {
		release()
		return nil, nil, errors.Wrapf(lsmkv.ErrBucketNotFound, "bucket %s", r.name)
	}
	return bucket, release, nil
}

type PostingStore struct {
	store    *lsmkv.Store
	bucket   bucketRef
	locks    *common.ShardedRWLocks
	metrics  *Metrics
	versions *PostingVersionsStore
}

func NewPostingStore(store *lsmkv.Store, sharedBucket bucketRef, metrics *Metrics, id string, cfg StoreConfig) (*PostingStore, error) {
	bName := postingsBucketName(id)

	versions := NewPostingVersionsStore(sharedBucket)

	err := store.CreateOrLoadBucket(context.Background(),

View on GitHub (pinned to 75aa4b6d11)

Solutions

  1. Check the bucket name in the message against the buckets the store actually created
  2. If this happens during shutdown, treat ErrBucketNotFound as expected and stop using the bucket
  3. Retry after shard init completes if the call raced startup
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at adapters/repos/db/vector/hfresh/store.go:77 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/b783503ac1683691. Report an issue: GitHub.