From da5b5aece875390905fcda8f2e5459c1a13ec9f8 Mon Sep 17 00:00:00 2001 From: Gal Topper Date: Mon, 12 Feb 2024 20:47:39 +0800 Subject: [PATCH] [Model Monitoring] Fix server-side nuclio version resolution in explicit ack switch [1.6.x] [ML-5700](https://jira.iguazeng.com/browse/ML-5700) Cherry-pick of #5105 / d5b0fc2. --- mlrun/config.py | 9 +++++---- server/api/crud/model_monitoring/deployment.py | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/mlrun/config.py b/mlrun/config.py index 03a3ba0dca4..9b1b6e936c2 100644 --- a/mlrun/config.py +++ b/mlrun/config.py @@ -1148,11 +1148,12 @@ def get_s3_storage_options(self) -> typing.Dict[str, typing.Any]: return storage_options - def is_explicit_ack(self) -> bool: + def is_explicit_ack(self, version=None) -> bool: + if not version: + version = self.nuclio_version return self.httpdb.nuclio.explicit_ack == "enabled" and ( - not self.nuclio_version - or semver.VersionInfo.parse(self.nuclio_version) - >= semver.VersionInfo.parse("1.12.10") + not version + or semver.VersionInfo.parse(version) >= semver.VersionInfo.parse("1.12.10") ) diff --git a/server/api/crud/model_monitoring/deployment.py b/server/api/crud/model_monitoring/deployment.py index 301c6561fb1..259edf3d72e 100644 --- a/server/api/crud/model_monitoring/deployment.py +++ b/server/api/crud/model_monitoring/deployment.py @@ -32,6 +32,7 @@ from mlrun.utils import logger from server.api.api import deps from server.api.crud.model_monitoring.helpers import Seconds, seconds2minutes +from server.api.utils.runtimes.nuclio import resolve_nuclio_version _MODEL_MONITORING_COMMON_PATH = ( pathlib.Path(__file__).parents[4] / "mlrun" / "model_monitoring" @@ -672,7 +673,7 @@ def _apply_stream_trigger( kwargs = {} if function_name != mm_constants.MonitoringFunctionNames.STREAM: kwargs["access_key"] = model_monitoring_access_key - if mlrun.mlconf.is_explicit_ack(): + if mlrun.mlconf.is_explicit_ack(version=resolve_nuclio_version()): kwargs["explicit_ack_mode"] = "explicitOnly" kwargs["worker_allocation_mode"] = "static"