diff --git a/src/py/flwr/server/server.py b/src/py/flwr/server/server.py index 1cab2d03c21d..f1bfb6f0533b 100644 --- a/src/py/flwr/server/server.py +++ b/src/py/flwr/server/server.py @@ -282,7 +282,14 @@ def _get_initial_parameters( get_parameters_res = random_client.get_parameters( ins=ins, timeout=timeout, group_id=server_round ) - log(INFO, "Received initial parameters from one random client") + if get_parameters_res.status.code == Code.OK: + log(INFO, "Received initial parameters from one random client") + else: + log( + WARN, + "Failed to receive initial parameters from the client." + " Empty initial parameters will be used.", + ) return get_parameters_res.parameters diff --git a/src/py/flwr/server/workflow/default_workflows.py b/src/py/flwr/server/workflow/default_workflows.py index 66491ec87427..80759316da84 100644 --- a/src/py/flwr/server/workflow/default_workflows.py +++ b/src/py/flwr/server/workflow/default_workflows.py @@ -146,7 +146,14 @@ def default_init_params_workflow(driver: Driver, context: Context) -> None: ] ) msg = list(messages)[0] - if msg.has_content(): + + if ( + msg.has_content() + and compat._extract_status_from_recordset( # pylint: disable=W0212 + "getparametersres", msg.content + ).code + == Code.OK + ): log(INFO, "Received initial parameters from one random client") paramsrecord = next(iter(msg.content.parameters_records.values())) else: