From 59ea8eeb2fae0d1bc61381dc31e9f10afec0d0b1 Mon Sep 17 00:00:00 2001 From: jafermarq Date: Wed, 27 Mar 2024 19:50:49 +0100 Subject: [PATCH] inject create_at for compatibility stack --- src/py/flwr/server/compat/driver_client_proxy.py | 7 +++++++ src/py/flwr/server/utils/validator.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/py/flwr/server/compat/driver_client_proxy.py b/src/py/flwr/server/compat/driver_client_proxy.py index 99ba50d3e2d1..b034bebe80c4 100644 --- a/src/py/flwr/server/compat/driver_client_proxy.py +++ b/src/py/flwr/server/compat/driver_client_proxy.py @@ -132,6 +132,13 @@ def _send_receive_recordset( ttl=DEFAULT_TTL, ), ) + + # This would normally be recorded upon common.Message creation + # but this compatibility stack doesn't create Messages, + # so we need to inject `created_at` manually (needed for + # taskins validation by server.utils.validator) + task_ins.task.created_at = time.time() + push_task_ins_req = driver_pb2.PushTaskInsRequest( # pylint: disable=E1101 task_ins_list=[task_ins] ) diff --git a/src/py/flwr/server/utils/validator.py b/src/py/flwr/server/utils/validator.py index 6f694ca7abee..c0b0ec85761c 100644 --- a/src/py/flwr/server/utils/validator.py +++ b/src/py/flwr/server/utils/validator.py @@ -36,7 +36,7 @@ def validate_task_ins_or_res(tasks_ins_res: Union[TaskIns, TaskRes]) -> List[str tasks_ins_res.task.created_at < 1711497600.0 ): # unix timestamp of 27 March 2024 00h:00m:00s UTC validation_errors.append( - "`created_at` must be float that records the unix timestamp " + "`created_at` must be a float that records the unix timestamp " "in seconds when the message was created." ) if tasks_ins_res.task.delivered_at != "":