Skip to content

Commit 223eb22

Browse files
authored
Merge pull request #1815 from weaviate/own_health_file
Own health file
2 parents 18fd671 + e74a802 commit 223eb22

22 files changed

+253
-464
lines changed

mock_tests/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@
1515
from weaviate.proto.v1 import (
1616
batch_delete_pb2,
1717
batch_pb2,
18-
health_pb2,
19-
health_pb2_grpc,
2018
properties_pb2,
2119
search_get_pb2,
2220
tenants_pb2,
2321
weaviate_pb2_grpc,
2422
)
2523

24+
from grpc_health.v1 import health_pb2, health_pb2_grpc
25+
2626
MOCK_IP = "127.0.0.1"
2727
MOCK_PORT = 23536
2828
MOCK_PORT_GRPC = 23537

requirements-devel.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ validators==0.34.0
33
authlib==1.6.1
44
grpcio==1.66.2
55
grpcio-tools==1.66.2
6+
grpcio-health-checking==1.66.2
67
pydantic==2.8.0
78
deprecation==2.1.0
89

weaviate/connect/v4.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
aggregate_pb2,
8282
batch_delete_pb2,
8383
batch_pb2,
84-
health_pb2,
84+
health_weaviate_pb2,
8585
search_get_pb2,
8686
tenants_pb2,
8787
weaviate_pb2_grpc,
@@ -322,30 +322,31 @@ def _ping_grpc(self, colour: executor.Colour) -> Union[None, Awaitable[None]]:
322322
try:
323323
res = self._grpc_channel.unary_unary(
324324
"/grpc.health.v1.Health/Check",
325-
request_serializer=health_pb2.HealthCheckRequest.SerializeToString,
326-
response_deserializer=health_pb2.HealthCheckResponse.FromString,
327-
)(health_pb2.HealthCheckRequest(), timeout=self.timeout_config.init)
325+
request_serializer=health_weaviate_pb2.WeaviateHealthCheckRequest.SerializeToString,
326+
response_deserializer=health_weaviate_pb2.WeaviateHealthCheckResponse.FromString,
327+
)(health_weaviate_pb2.WeaviateHealthCheckRequest(), timeout=self.timeout_config.init)
328328
if colour == "async":
329329

330330
async def execute():
331331
assert isinstance(res, Awaitable)
332332
try:
333333
return self.__handle_ping_response(
334-
cast(health_pb2.HealthCheckResponse, await res)
334+
cast(health_weaviate_pb2.WeaviateHealthCheckResponse, await res)
335335
)
336336
except Exception as e:
337337
self.__handle_ping_exception(e)
338338

339339
return execute()
340340
assert not isinstance(res, Awaitable)
341-
return self.__handle_ping_response(cast(health_pb2.HealthCheckResponse, res))
341+
self.__handle_ping_response(cast(health_weaviate_pb2.WeaviateHealthCheckResponse, res))
342+
return None
342343

343344
except Exception as e:
344345
self.__handle_ping_exception(e)
345346
return None
346347

347-
def __handle_ping_response(self, res: health_pb2.HealthCheckResponse) -> None:
348-
if res.status != health_pb2.HealthCheckResponse.SERVING:
348+
def __handle_ping_response(self, res: health_weaviate_pb2.WeaviateHealthCheckResponse) -> None:
349+
if res.status != health_weaviate_pb2.WeaviateHealthCheckResponse.SERVING:
349350
raise WeaviateGRPCUnavailableError(
350351
f"v{self.server_version}", self._connection_params._grpc_address
351352
)

weaviate/proto/v1/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,16 @@ def get_version(pkg: str)-> version.Version:
2222
if pb_version >= version.parse("6.30.0"):
2323
if grpc_version < version.parse("1.72.0"):
2424
raise WeaviateProtobufIncompatibility(pb_version, grpc_version)
25-
from weaviate.proto.v1.v6300.v1 import weaviate_pb2_grpc, aggregate_pb2, base_pb2, base_search_pb2, batch_delete_pb2, batch_pb2, generative_pb2, health_pb2, health_pb2_grpc, properties_pb2, search_get_pb2, tenants_pb2
25+
from weaviate.proto.v1.v6300.v1 import weaviate_pb2_grpc, aggregate_pb2, base_pb2, base_search_pb2, batch_delete_pb2, batch_pb2, generative_pb2, health_weaviate_pb2, health_weaviate_pb2_grpc, properties_pb2, search_get_pb2, tenants_pb2
2626
elif pb_version >= version.parse("5.26.1"):
2727
if grpc_version < version.parse("1.63.0"):
2828
raise WeaviateProtobufIncompatibility(pb_version, grpc_version)
29-
from weaviate.proto.v1.v5261.v1 import weaviate_pb2_grpc, aggregate_pb2, base_pb2, base_search_pb2, batch_delete_pb2, batch_pb2, generative_pb2, health_pb2, health_pb2_grpc, properties_pb2, search_get_pb2, tenants_pb2
29+
from weaviate.proto.v1.v5261.v1 import weaviate_pb2_grpc, aggregate_pb2, base_pb2, base_search_pb2, batch_delete_pb2, batch_pb2, generative_pb2, health_weaviate_pb2, health_weaviate_pb2_grpc, properties_pb2, search_get_pb2, tenants_pb2
3030
elif pb_version >= version.parse("4.21.6"):
31-
from weaviate.proto.v1.v4216.v1 import weaviate_pb2_grpc, aggregate_pb2, base_pb2, base_search_pb2, batch_delete_pb2, batch_pb2, generative_pb2, health_pb2, health_pb2_grpc, properties_pb2, search_get_pb2, tenants_pb2
31+
from weaviate.proto.v1.v4216.v1 import weaviate_pb2_grpc, aggregate_pb2, base_pb2, base_search_pb2, batch_delete_pb2, batch_pb2, generative_pb2, health_weaviate_pb2, health_weaviate_pb2_grpc, properties_pb2, search_get_pb2, tenants_pb2
3232
else:
3333
raise RuntimeError(f"Unsupported protobuf version: {pb_version}. Only versions 4.21.6+ are supported.")
3434

3535
__all__ = [
36-
"aggregate_pb2", "base_pb2", "base_search_pb2", "batch_delete_pb2", "batch_pb2", "generative_pb2", "health_pb2", "health_pb2_grpc", "properties_pb2", "search_get_pb2", "tenants_pb2", "weaviate_pb2_grpc"
36+
"aggregate_pb2", "base_pb2", "base_search_pb2", "batch_delete_pb2", "batch_pb2", "generative_pb2", "health_weaviate_pb2", "health_weaviate_pb2_grpc", "properties_pb2", "search_get_pb2", "tenants_pb2", "weaviate_pb2_grpc"
3737
]

weaviate/proto/v1/v4216/v1/health_pb2.py

Lines changed: 0 additions & 32 deletions
This file was deleted.

weaviate/proto/v1/v4216/v1/health_pb2.pyi

Lines changed: 0 additions & 26 deletions
This file was deleted.

weaviate/proto/v1/v4216/v1/health_pb2_grpc.py

Lines changed: 0 additions & 66 deletions
This file was deleted.

weaviate/proto/v1/v4216/v1/health_weaviate_pb2.py

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2+
from google.protobuf import descriptor as _descriptor
3+
from google.protobuf import message as _message
4+
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
5+
6+
DESCRIPTOR: _descriptor.FileDescriptor
7+
8+
class WeaviateHealthCheckRequest(_message.Message):
9+
__slots__ = ["service"]
10+
SERVICE_FIELD_NUMBER: _ClassVar[int]
11+
service: str
12+
def __init__(self, service: _Optional[str] = ...) -> None: ...
13+
14+
class WeaviateHealthCheckResponse(_message.Message):
15+
__slots__ = ["status"]
16+
class ServingStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17+
__slots__ = []
18+
UNKNOWN: _ClassVar[WeaviateHealthCheckResponse.ServingStatus]
19+
SERVING: _ClassVar[WeaviateHealthCheckResponse.ServingStatus]
20+
NOT_SERVING: _ClassVar[WeaviateHealthCheckResponse.ServingStatus]
21+
UNKNOWN: WeaviateHealthCheckResponse.ServingStatus
22+
SERVING: WeaviateHealthCheckResponse.ServingStatus
23+
NOT_SERVING: WeaviateHealthCheckResponse.ServingStatus
24+
STATUS_FIELD_NUMBER: _ClassVar[int]
25+
status: WeaviateHealthCheckResponse.ServingStatus
26+
def __init__(self, status: _Optional[_Union[WeaviateHealthCheckResponse.ServingStatus, str]] = ...) -> None: ...
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2+
"""Client and server classes corresponding to protobuf-defined services."""
3+
import grpc
4+

0 commit comments

Comments
 (0)