Skip to content

Commit 5d33871

Browse files
author
Nissan Pow
committed
fix: use float comparison for @resources vs @kubernetes defaults
String comparison can fail when values like "4096" and "4096.0" represent the same number. Use float comparison instead.
1 parent 0b3aecf commit 5d33871

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

metaflow/plugins/kubernetes/kubernetes_decorator.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -383,10 +383,13 @@ def step_init(self, flow, graph, step, decos, environment, flow_datastore, logge
383383
# @resources override it — this fixes the case where
384384
# @resources(memory=256) should be respected even
385385
# when it is lower than the @kubernetes default.
386-
k8s_is_default = str(my_val) == str(self.defaults[k])
386+
k8s_is_default = float(my_val or 0) == float(
387+
self.defaults[k] or 0
388+
)
387389
resources_is_default = (
388390
k in ResourcesDecorator.defaults
389-
and str(v) == str(ResourcesDecorator.defaults[k])
391+
and float(v or 0)
392+
== float(ResourcesDecorator.defaults[k] or 0)
390393
)
391394
if k8s_is_default and not resources_is_default:
392395
# @kubernetes is at its default and @resources

0 commit comments

Comments
 (0)