Hello!
I’m having some trouble in attempting to create a back-up in Weaviate. I get the error:
UnexpectedStatusCodeException: Backup creation! Unexpected status code: 422, with response body: {'error': [{'message': 'node {"node1" "192.168.112.2:7947"}: unexpected status code 503 (Failed Connection)'}]}.
Whenever I try via the following Python code:
import weaviate
client = weaviate.Client(weaviate_client_addr)
result = client.backup.create(
backup_id='test-backup-1',
backend='filesystem',
include_classes=['Records'],
wait_for_completion=True,
)
print(result)
For context I’m running it using Docker with the following docker-compose.yml
:
version: "3.4"
services:
weaviate:
image: semitechnologies/weaviate:1.22.5
ports:
- 80:8080
restart: on-failure:0
environment:
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
PERSISTENCE_DATA_PATH: "/var/lib/weaviate"
CLUSTER_HOSTNAME: "node1"
DEFAULT_VECTORIZER_MODULE: "text2vec-openai"
ENABLE_MODULES: "backup-filesystem,text2vec-openai,generative-openai"
TRANSFORMERS_INFERENCE_API: http://t2v-transformers:8080
NO_PROXY: t2v-transformers,weaviate,localhost,127.0.0.1,node1
BACKUP_FILESYSTEM_PATH: /opt/weaviate/backup
volumes:
- /opt/weaviate/data:/var/lib/weaviate
I can see that the backup-filesystem
module is enabled as when querying the client for the meta_info
with the following Python script:
import weaviate
client = weaviate.Client(weaviate_client_addr)
meta_info = client.get_meta()
print(meta_info)
I receive the following:
{'hostname': 'http://[::]:8080', 'modules': {'backup-filesystem': {'backupsPath': '/opt/weaviate/backup'}, 'generative-openai': {'documentationHref': 'https://platform.openai.com/docs/api-reference/completions', 'name': 'Generative Search - OpenAI'}, 'text2vec-openai': {'documentationHref': 'https://platform.openai.com/docs/guides/embeddings/what-are-embeddings', 'name': 'OpenAI Module'}}, 'version': '1.22.5'}
Additionally, from checking the status of my nodes with the following Python block:
import weaviate
client = weaviate.Client(weaviate_client_addr)
nodes_status = client.cluster.get_nodes_status()
print(nodes_status)
I can see that the status is live and running:
[{'batchStats': {'queueLength': 0, 'ratePerSecond': 0}, 'gitHash': 'ed066e7', 'name': 'node1', 'shards': [{'class': 'Records', 'name': 'TrqAXeHtXtFA', 'objectCount': 1299618, 'vectorIndexingStatus': 'READY', 'vectorQueueLength': 0}], 'stats': {'objectCount': 1592164, 'shardCount': 3}, 'status': 'HEALTHY', 'version': '1.22.5'}]
Any advice or clarification in how to resolve this issue would be very much so appreciated. Please let me know if you require any additional details.