{"record":{"id":"c682bf0e67f361c3","repo":"weaviate/weaviate","slug":"no-bucket-named-objects-found-in-store-s","errorCode":null,"errorMessage":"no bucket named 'objects' found in store %s","messagePattern":"no bucket named 'objects' found in store (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"adapters/repos/db/lsmkv/store_reindex.go","lineNumber":31,"sourceCode":"\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/weaviate/weaviate/adapters/repos/db/helpers\"\n)\n\n// PauseObjectBucketCompaction pauses the compaction cycle for the objects bucket.\n// This is so that the BMW migration can run without interference from the\n// compaction process, as they both use the same locks.\nfunc (s *Store) PauseObjectBucketCompaction(ctx context.Context) error {\n\ts.bucketAccessLock.RLock()\n\tdefer s.bucketAccessLock.RUnlock()\n\n\t// Bucket() would recursively RLock and deadlock against a queued writer (weaviate/0-weaviate-issues#251).\n\tb := s.bucketNoLock(helpers.ObjectsBucketLSM)\n\tif b == nil {\n\t\treturn fmt.Errorf(\"no bucket named 'objects' found in store %s\", s.dir)\n\t}\n\n\treturn b.pauseCompaction(ctx)\n}\n\n// ResumeObjectBucketCompaction resumes the compaction cycle for the objects bucket.\nfunc (s *Store) ResumeObjectBucketCompaction(ctx context.Context) error {\n\ts.bucketAccessLock.RLock()\n\tdefer s.bucketAccessLock.RUnlock()\n\n\tb := s.bucketNoLock(helpers.ObjectsBucketLSM)\n\tif b == nil {\n\t\treturn fmt.Errorf(\"no bucket named 'objects' found in store %s\", s.dir)\n\t}\n\n\treturn b.resumeCompaction(ctx)\n}\n","sourceCodeStart":13,"sourceCodeEnd":49,"githubUrl":"https://github.com/weaviate/weaviate/blob/75aa4b6d11f8818305aafd4440b4e32794f7ca04/adapters/repos/db/lsmkv/store_reindex.go#L13-L49","documentation":"Store.PauseObjectBucketCompaction looks up the 'objects' bucket without re-acquiring the read lock (bucketNoLock, to avoid deadlock against queued writers) and returns this error when that bucket is not loaded in the store. It is a guard so callers don't call pauseCompaction on a nil bucket.","triggerScenarios":"Calling PauseObjectBucketCompaction on a store that has no 'objects' bucket — e.g. the index has no objects bucket (empty/nonexistent shard state), the bucket was dropped, or the store was created but buckets were never initialized.","commonSituations":"Reindex/compaction orchestration running against a shard that was deleted concurrently; calling pause before the store finished loading buckets; a collection that never materialized an objects bucket (e.g. before first write); multi-tenant shards being removed during a reindex.","solutions":["Check that the collection/shard exists and its objects bucket is loaded before pausing compaction.","Treat the error as 'nothing to pause' in orchestration code: skip and continue instead of failing the reindex.","Serialize compaction-pause calls with shard lifecycle (avoid racing shard deletion).","Verify bucket initialization completed at startup (deferred/paused-index scenarios) before issuing pause calls."],"exampleFix":"// before\nerr := store.PauseObjectBucketCompaction(ctx) // fails if bucket absent\n// after\nif err := store.PauseObjectBucketCompaction(ctx); err != nil {\n    if strings.Contains(err.Error(), \"no bucket named 'objects'\") {\n        return nil // nothing to pause\n    }\n    return err\n}","handlingStrategy":"validation","validationCode":"if store.Bucket(helpers.ObjectsBucketLSM) == nil {\n    return nil // objects bucket not loaded: nothing to pause\n}","typeGuard":"func objectsBucketLoaded(s *lsmkv.Store) bool { return s.Bucket(helpers.ObjectsBucketLSM) != nil }","tryCatchPattern":"err := store.PauseObjectBucketCompaction(ctx)\nif err != nil {\n    if strings.Contains(err.Error(), \"no bucket named 'objects'\") {\n        return nil // benign: bucket absent\n    }\n    return fmt.Errorf(\"pause objects compaction: %w\", err)\n}","preventionTips":["Only pause compaction after bucket initialization completed for the shard.","Serialize pause/resume orchestration with shard/collection deletion.","Treat missing-bucket errors as skip-not-fail in reindex flows.","Log shard lifecycle events alongside compaction pause attempts."],"tags":["lsmkv","compaction","not-found","reindex"],"backgroundTag":"bucket-not-found","analyzedSha":"75aa4b6d11f8818305aafd4440b4e32794f7ca04","analyzedAt":"2026-09-04T14:58:20.392Z","contentChangedAt":"2026-09-04T14:58:20.392Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}