Hi Team
Ran into a very strange issue where the weaviate CPU kept on increasing even when there were no Indexing and Very less queries.
After exhaustive debugging found out a specific query causing this. And even more strange is that the query time out with GPRC deadline Exceeded error but the cpu kept on increasing.
Any help is appreciated as its causing issues in our production.
Upgraded weaviate to 1.32.15 and its reproducible.
9: 15: New Index Created.
9:35 : Searched with the Query and cpu increased.
Same query with single filter works but together is causing timeout.
Query: Hybrid Search
response = collection.query.hybrid(
query=query,
query_properties=['product_id', 'tokens^3', 'brands^2'],
vector=dense_vector,
target_vector='default',
alpha=0.5,
filters=Filter.all_of([ Filter.by_property("brand").contains_any(brands),Filter.by_property("seller").contains_any(sellers)])
bm25_operator= BM25OperatorOr(minimum_should_match=2),
return_properties=['productid', 'Tag', 'Category'],
return_metadata=MetadataQuery(score=True, explain_score=True),
max_vector_distance=0.8,
fusion_type=HybridFusion.RANKED ,
limit=24,
)
import weaviate
from weaviate.classes.config import Configure,VectorDistances, VectorFilterStrategy, ReplicationDeletionStrategy
client = weaviate.connect_to_local()
client.collections.create(
"Test",
vectorizer_config=[
Configure.NamedVectors.none(
name="default",
vector_index_config=Configure.VectorIndex.hnsw(
distance_metric=VectorDistances.COSINE,
ef=170,
ef_construction=256,
max_connections=32,
filter_strategy=VectorFilterStrategy.ACORN
)
)
],
#properties=properties,
inverted_index_config=Configure.inverted_index(
bm25_b=0.7,
bm25_k1=1.25,
index_null_state=True
),
replication_config=Configure.replication(
factor=3,
async_enabled=True,
deletion_strategy=ReplicationDeletionStrategy.TIME_BASED_RESOLUTION,
),
sharding_config=Configure.sharding(
desired_count=1,
)
)
Server Logs:
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.100.3.1:58766: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:40:51Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.148.51.16:41215: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:40:54Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.148.51.17:3854: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:40:54Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.148.51.16:65086: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:40:58Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.100.3.1:24344: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:41:09Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.148.51.12:31288: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:41:18Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.148.51.6:10653: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:41:22Z"}
{"build_git_commit":"aab5e68","build_go_version":"go1.24.9","build_image_tag":"v1.32.15","build_wv_version":"1.32.15","description":"An I/O timeout occurs when the request takes longer than the specified server-side timeout.","error":"write tcp 10.100.3.17:8080-\u003e10.148.51.12:20092: i/o timeout","hint":"Either try increasing the server-side timeout using e.g. '--write-timeout=600s' as a command line flag when starting Weaviate, or try sending a computationally cheaper request, for example by reducing a batch size, reducing a limit, using less complex filters, etc. Note that this error is only thrown if client-side and server-side timeouts are not in sync, more precisely if the client-side timeout is longer than the server side timeout.","level":"error","method":"POST","msg":"i/o timeout","path":{"Scheme":"","Opaque":"","User":null,"Host":"","Path":"/v1/batch/objects","RawPath":"","OmitHost":false,"ForceQuery":false,"RawQuery":"consistency_level=ALL","Fragment":"","RawFragment":""},"time":"2025-10-30T15:41:27Z"}


