We have a Weaviate cluster deployed via Helm on Azure Kubernetes Service (AKS), backed by Azure PVC. The cluster has successfully ingested a substantial number of documents.
However, when attempting to initiate a backup, the process fails with an error stating that a node “cannot resolve hostname for”.
We suspect this issue might be related to manually increasing the replica count from 3 to 4 at some point, although we’re not entirely certain. Currently, there are only 3 pods running in the cluster.
Thanks for coming back. We identified that our scaled-down multi-tenant enabled collection action caused this behavior. We were able to take the backup after bringing the cluster size back to 4. I assume this might be regarding RAFT state information stored on the other nodes. (The 4th node was not holding any tenant shard before, though.)
Also, thank you for confirming that while restoring, we require the exact number of nodes.
Glad it all worked out. Our team is working on shard movements feature, that will allow you. to increase and tweak replication factors, or drain nodes, etc.
For now, unless you are using only multitenant, the best way to grow your cluster is moving to a new one with the necessary resources.
Hi @DudaNogueira
My use case is similar. Initially, I was running 3 pod replicas. After some time, I scaled up by adding one more replica, making it a total of 4 pods. However, the data remained distributed across the original 3 pods, and the new pod (weaviate-3) only had an empty class with no data.
I then took a backup while all 4 pods were running, and it completed successfully. Since the additional pod was unnecessary, I scaled the replicas back down to 3 and deleted the PV and PVC associated with the removed pod.
After that, when I tried to take a backup again with 3 pods, I encountered the following error: “cannot resolve hostname for ‘weaviate-3’”
My goal is to restore the data from the 3 pods into a different Weaviate namespace (New Weaviate on new nodes). As backup and restoration pods should be the same. I only want to deal with 3 replicas. I can see the data of weaviate-3 (class name with empty data) in the raft.db. Is there any way to remove the weaviate-3 data from the raft.db, or any other way to get rid of this?
I am running Weaviate version 1.33.0, and I’ve checked the configuration of Weaviate it’s already configured at RAFT_JOIN = weaviate-0, weaviate-1, weaviate-2 and RAFT_BOOTSTRAP_EXPECT = 3.
Even when the replica goes to 4, this configuration never changed. It’s just that dumpy pod running with an empty class in weaviate-3. Basically, I need to take a backup for 3 nodes by doing replica 3.
Also this can be a good opportunity to play around with compression (we are strongly suggesting rq-8) and any other changes, like indexing null states, or timestamps, changing tokenization, etc.
Let me know if you need any help on that as well! Feel free to open a new forum thread