Thanks! I just learned that a single tenant cannot consist of many shards, so in that case, some shards might just end up being larger than others for a skewed dataset.
Some other things I’ve noticed though:
- It doesn’t look like I can pre-create shards for a multi-tenant class unfortunately. When I tried that, I got the error below from the create request:
{"error":[{"message":"cannot have both shardingConfig and multiTenancyConfig"}]}
- In a cluster with 3 nodes, incremental creation of tenants results with all created shards appearing on the first node while other nodes remain empty. I’d have expected shards to get evenly distributed across the cluster?
See response below from the /v1/nodes
endpoint after creating all my testing tenants and loading them with data:
curl 'http://weaviate.camera.svc.cluster.local/v1/nodes'
{
"nodes": [
{
"batchStats": {
"queueLength": 0,
"ratePerSecond": 0
},
"gitHash": "f381d44",
"name": "weaviate-0",
"shards": [
{
"class": "ClipEmbeddingsv2",
"name": "00000000-0000-4000-8000-000000001077",
"objectCount": 138,
"vectorIndexingStatus": "READY",
"vectorQueueLength": 0
},
..... // Many entries here
{
"class": "ClipEmbeddingsv2",
"name": "00000000-0000-4000-8000-000000002565",
"objectCount": 215,
"vectorIndexingStatus": "READY",
"vectorQueueLength": 0
}
],
"stats": {
"objectCount": 2656810,
"shardCount": 4980
},
"status": "HEALTHY",
"version": "1.22.5"
},
{
"batchStats": {
"queueLength": 0,
"ratePerSecond": 0
},
"gitHash": "f381d44",
"name": "weaviate-1",
"shards": null,
"stats": {
"objectCount": 0,
"shardCount": 0
},
"status": "HEALTHY",
"version": "1.22.5"
},
{
"batchStats": {
"queueLength": 0,
"ratePerSecond": 0
},
"gitHash": "f381d44",
"name": "weaviate-2",
"shards": null,
"stats": {
"objectCount": 0,
"shardCount": 0
},
"status": "HEALTHY",
"version": "1.22.5"
}
]
}