From 1656ca460c670f67fae3322b2cab7b9001f207f3 Mon Sep 17 00:00:00 2001 From: Pere Miquel Brull Date: Mon, 21 Feb 2022 23:19:27 +0100 Subject: [PATCH] Check for empty payload (#2903) --- .../src/metadata/ingestion/ometa/ometa_api.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ingestion/src/metadata/ingestion/ometa/ometa_api.py b/ingestion/src/metadata/ingestion/ometa/ometa_api.py index 6b2ba3c5711..ed45bcb4aca 100644 --- a/ingestion/src/metadata/ingestion/ometa/ometa_api.py +++ b/ingestion/src/metadata/ingestion/ometa/ometa_api.py @@ -83,6 +83,13 @@ class InvalidEntityException(Exception): """ +class EmptyPayloadException(Exception): + """ + Raise when receiving no data, even if no exception + during the API call is received + """ + + class EntityList(Generic[T], BaseModel): """ Pydantic Entity list model @@ -363,6 +370,10 @@ class OpenMetadata( ) resp = self.client.put(self.get_suffix(entity), data=data.json()) + if not resp: + raise EmptyPayloadException( + f"Got an empty response when trying to PUT to {self.get_suffix(entity)}, {data.json()}" + ) return entity_class(**resp) def get_by_name( @@ -398,6 +409,10 @@ class OpenMetadata( fields_str = "?fields=" + ",".join(fields) if fields else "" try: resp = self.client.get(f"{self.get_suffix(entity)}/{path}{fields_str}") + if not resp: + raise EmptyPayloadException( + f"Got an empty response when trying to GET from {self.get_suffix(entity)}/{path}{fields_str}" + ) return entity(**resp) except APIError as err: logger.error(