Skip to content

Commit ecb162e

Browse files
committed
load per user buckets properly
1 parent 86c350b commit ecb162e

4 files changed

Lines changed: 12 additions & 4 deletions

File tree

crates/fula-core/src/bucket.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,10 +395,18 @@ impl<S: BlockStore + PinStore> BucketManager<S> {
395395
}
396396

397397
// Populate the in-memory cache
398+
// IMPORTANT: Use the same key format as create_bucket_for_user: {owner_id}:{name}
399+
// This ensures buckets from different users with the same name don't collide
398400
let count = registry.buckets.len();
399401
for bucket_meta in registry.buckets {
400-
info!(bucket = %bucket_meta.name, "Restoring bucket from registry");
401-
self.buckets.insert(bucket_meta.name.clone(), bucket_meta);
402+
let internal_key = Self::scoped_bucket_key(&bucket_meta.owner_id, &bucket_meta.name);
403+
info!(
404+
bucket = %bucket_meta.name,
405+
owner_id = %bucket_meta.owner_id,
406+
internal_key = %internal_key,
407+
"Restoring bucket from registry"
408+
);
409+
self.buckets.insert(internal_key, bucket_meta);
402410
}
403411

404412
info!(bucket_count = count, "Bucket registry loaded successfully");

target/release/fula-gateway.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
/mnt/e/GitHub/fula-api/target/release/fula-gateway: /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/block.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/chunker.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cid_utils.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cluster.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs_pinning.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/memory.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/pinning_service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/auth.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/config.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/admin.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/batch.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/mod.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/object.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/tagging.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/main.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/middleware.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/pinning.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/routes.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/server.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/state.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/xml.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/crdt.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/metadata.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/diff.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/hash.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/mod.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/node.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/tree.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/chunked.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hamt_index.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hashing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hpke.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hybrid_kem.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/inbox.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_forest.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_metadata.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/rotation.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/secret_link.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/sharing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/streaming.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/subtree_keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/symmetric.rs
1+
/mnt/e/GitHub/fula-api/target/release/fula-gateway: /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/block.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/chunker.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cid_utils.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cluster.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs_pinning.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/memory.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/pinning_service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/auth.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/config.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/admin.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/batch.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/mod.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/object.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/tagging.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/main.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/middleware.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/pinning.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/routes.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/server.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/state.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/xml.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/crdt.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/metadata.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/diff.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/hash.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/mod.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/node.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/tree.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/chunked.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hamt_index.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hashing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hpke.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hybrid_kem.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/inbox.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_forest.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_metadata.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/rotation.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/secret_link.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/sharing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/streaming.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/subtree_keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/symmetric.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/time.rs

target/release/libfula_cli.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
/mnt/e/GitHub/fula-api/target/release/libfula_cli.rlib: /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/block.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/chunker.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cid_utils.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cluster.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs_pinning.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/memory.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/pinning_service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/auth.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/config.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/admin.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/batch.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/mod.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/object.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/tagging.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/middleware.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/pinning.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/routes.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/server.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/state.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/xml.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/crdt.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/metadata.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/diff.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/hash.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/mod.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/node.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/tree.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/chunked.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hamt_index.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hashing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hpke.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hybrid_kem.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/inbox.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_forest.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_metadata.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/rotation.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/secret_link.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/sharing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/streaming.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/subtree_keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/symmetric.rs
1+
/mnt/e/GitHub/fula-api/target/release/libfula_cli.rlib: /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/block.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/chunker.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cid_utils.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/cluster.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/ipfs_pinning.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/memory.rs /mnt/e/GitHub/fula-api/crates/fula-blockstore/src/pinning_service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/auth.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/config.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/admin.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/batch.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/mod.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/object.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/service.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/handlers/tagging.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/middleware.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/multipart.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/pinning.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/routes.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/server.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/state.rs /mnt/e/GitHub/fula-api/crates/fula-cli/src/xml.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/bucket.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/crdt.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/metadata.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/diff.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/hash.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/mod.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/node.rs /mnt/e/GitHub/fula-api/crates/fula-core/src/prolly/tree.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/chunked.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/error.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hamt_index.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hashing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hpke.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/hybrid_kem.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/inbox.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/lib.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_forest.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/private_metadata.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/rotation.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/secret_link.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/sharing.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/streaming.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/subtree_keys.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/symmetric.rs /mnt/e/GitHub/fula-api/crates/fula-crypto/src/time.rs

target/release/libfula_cli.rlib

535 KB
Binary file not shown.

0 commit comments

Comments
 (0)