From 226d7b8068d6c047dd9bd03ab717988ffb94283b Mon Sep 17 00:00:00 2001 From: gkumbhat Date: Fri, 2 Aug 2024 09:17:17 -0500 Subject: [PATCH 1/2] :goal_net: Catch InactiveError for TGIS to modify error message Signed-off-by: gkumbhat --- caikit_nlp/toolkit/text_generation/tgis_utils.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/caikit_nlp/toolkit/text_generation/tgis_utils.py b/caikit_nlp/toolkit/text_generation/tgis_utils.py index 0b870ba6..84e448d9 100644 --- a/caikit_nlp/toolkit/text_generation/tgis_utils.py +++ b/caikit_nlp/toolkit/text_generation/tgis_utils.py @@ -474,6 +474,13 @@ def unary_generate( batch_response = self.tgis_client.Generate( request, timeout=self.tgis_req_timeout ) + except grpc._channel._InactiveRpcError as err: + log.error("", err.details) + error_message = "The underlying TCP connection is closed" + caikit_status_code = GRPC_TO_CAIKIT_CORE_STATUS.get( + err.code(), CaikitCoreStatusCode.UNKNOWN + ) + raise CaikitCoreException(caikit_status_code, error_message) from err except grpc.RpcError as err: raise_caikit_core_exception(err) @@ -653,6 +660,13 @@ def stream_generate( input_tokens=input_token_list, details=details, ) + except grpc._channel._InactiveRpcError as err: + log.error("", err.details) + error_message = "The underlying TCP connection is closed" + caikit_status_code = GRPC_TO_CAIKIT_CORE_STATUS.get( + err.code(), CaikitCoreStatusCode.UNKNOWN + ) + raise CaikitCoreException(caikit_status_code, error_message) from err except grpc.RpcError as err: raise_caikit_core_exception(err) From d6adb794b1795711090e2e665d88c94949fb83b6 Mon Sep 17 00:00:00 2001 From: gkumbhat Date: Fri, 2 Aug 2024 11:36:56 -0500 Subject: [PATCH 2/2] :wrench: Move err message to const as per review suggestion Signed-off-by: gkumbhat --- caikit_nlp/toolkit/text_generation/tgis_utils.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/caikit_nlp/toolkit/text_generation/tgis_utils.py b/caikit_nlp/toolkit/text_generation/tgis_utils.py index 84e448d9..beb7e7a7 100644 --- a/caikit_nlp/toolkit/text_generation/tgis_utils.py +++ b/caikit_nlp/toolkit/text_generation/tgis_utils.py @@ -91,6 +91,7 @@ # HTTP Header / gRPC Metadata key used to identify a route override # (forwarded for API compatibility) ROUTE_INFO_HEADER_KEY = TGISBackend.ROUTE_INFO_HEADER_KEY +INACTIVE_RPC_CONN_ERR_MESSAGE = "The underlying TCP connection is closed" get_route_info = TGISBackend.get_route_info @@ -476,11 +477,12 @@ def unary_generate( ) except grpc._channel._InactiveRpcError as err: log.error("", err.details) - error_message = "The underlying TCP connection is closed" caikit_status_code = GRPC_TO_CAIKIT_CORE_STATUS.get( err.code(), CaikitCoreStatusCode.UNKNOWN ) - raise CaikitCoreException(caikit_status_code, error_message) from err + raise CaikitCoreException( + caikit_status_code, INACTIVE_RPC_CONN_ERR_MESSAGE + ) from err except grpc.RpcError as err: raise_caikit_core_exception(err) @@ -662,11 +664,12 @@ def stream_generate( ) except grpc._channel._InactiveRpcError as err: log.error("", err.details) - error_message = "The underlying TCP connection is closed" caikit_status_code = GRPC_TO_CAIKIT_CORE_STATUS.get( err.code(), CaikitCoreStatusCode.UNKNOWN ) - raise CaikitCoreException(caikit_status_code, error_message) from err + raise CaikitCoreException( + caikit_status_code, INACTIVE_RPC_CONN_ERR_MESSAGE + ) from err except grpc.RpcError as err: raise_caikit_core_exception(err)