Skip to content

Commit e69d268

Browse files
IvanHuntersmyasnikovdaniil
authored andcommitted
fix(seaweedfs): drop volumeSizeLimitMB so multiple collections fit
Cozystack overrides the upstream seaweedfs volumeSizeLimitMB from 1000 to 30000 (30 GB), but the e2e sandbox provisions only a 10 GiB PVC per volume server. With maxVolumes=0 (auto), seaweedfs computes maxVolumes as int(10240 / 30000) → 0, then rounds up to 1, so each volume server can host exactly 1 logical volume. With defaultReplication=001 (one replica on a different node within the same rack) two volume servers share that single volume, giving the cluster a hard limit of one writable collection at a time. Since #2716 added a default bucket-cozy-backups Bucket to every tenant-root, that bucket now grabs the only slot on install. Any second collection — the bucket E2E (bucket-test in tenant-test), a tenant app's own bucket, etc. — sits in 'assign volume: No writable volumes' forever, and mc cp hangs until the test times out. Master logs reflect this clearly: failed to find writable volumes for collection:bucket-... replication:001 ttl: error: No writable volumes and no free volumes left topo failed to pick 1 from 0 node candidates volume_growth.go:135 create 6 volume, created 0: Not enough data nodes found! Lower volumeSizeLimitMB back to the upstream chart default of 1000, which makes a 10 GiB PVC fit ~10 logical volumes per server and unblocks all per-collection bucket workloads on small sandboxes. Production clusters still get plenty of headroom — volume size is a soft cap, not a preallocation. Signed-off-by: Ivan Okhotnikov <[email protected]>
1 parent 562239d commit e69d268

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

‎packages/system/seaweedfs/values.yaml‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,16 @@ global:
1212
enabled: true
1313
seaweedfs:
1414
master:
15-
volumeSizeLimitMB: 30000
15+
# 30 GB per volume × 10 GiB PVC = 0 → rounded to 1 maxVolume per
16+
# volume server. With defaultReplication=001 (one replica on a
17+
# different node) two volume servers can host exactly one logical
18+
# volume between them. The platform now ships a default
19+
# bucket-cozy-backups Bucket that grabs that single slot, so any
20+
# second collection (the bucket E2E, a tenant app bucket, etc.)
21+
# blocks on `assign volume: No writable volumes` until the test
22+
# times out. Smaller volumes = more parallel collections on a
23+
# 10 GiB E2E sandbox PVC. The upstream chart default is 1000.
24+
volumeSizeLimitMB: 1000
1625
replicas: 3
1726
# replication type is XYZ:
1827
# X number of replica in other data centers

0 commit comments

Comments
 (0)