This may mean that the payload you sent is too big to be handled in a single request. It is usually a symptom of a batch size too big, and the GRPC will complain exactly on that.
Assuming there is no “timeout” on that error message.
I tried this code, and it worked as expected, so I am assuming this error happened with other dataset.
I see on Haystack code they seems to be using of the dynamic batch sizing:
that, according to our docs:
The batch size and the number of concurrent requests are dynamically adjusted on-the-fly during import, depending on the server load.
So this may not be it
Let me know if this helps, or if you can create a reproducible notebook and/or have more relevant logs.
Error log:
File “/app/tests/weaviate_docstore.py”, line 24, in
document_store.write_documents([
File “/env_py_12/lib/python3.12/site-packages/haystack_integrations/document_stores/weaviate/document_store.py”, line 444, in write_documents
return self._batch_write(documents)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/env_py_12/lib/python3.12/site-packages/haystack_integrations/document_stores/weaviate/document_store.py”, line 394, in _batch_write
raise DocumentStoreError(msg)
haystack.document_stores.errors.errors.DocumentStoreError: Failed to write object with id ‘f3b66e62b3b5d3e0942135c5cce25f713cf8415328c26ba992ba8f37d1b750e4’. Error: ‘WeaviateBatchError(‘Query call with protocol GRPC batch failed with message Deadline Exceeded.’)’
Failed to write object with id ‘ec4e7974f6a1f33960b3d53a147158c0aeb554488ea808a74037aa5dcfd89a21’. Error: ‘WeaviateBatchError(‘Query call with protocol GRPC batch failed with message Deadline Exceeded.’)’
sys:1: ResourceWarning: unclosed <socket.socket fd=7, family=30, type=1, proto=6, laddr=(‘::1’, 60236, 0, 0), raddr=(‘::1’, 8080, 0, 0)>
reproducible notebook:
on it, will update once make it ready