https://pulumi.com logo
#python
Title
c

clever-nest-47198

11/10/2020, 7:11 PM
Are there any Python performance regression tests? On Kubernetes 1.18 clusters with the "serversideapply" feature gate set, we see pulumi-language-python-exec take 100% cpu for minutes as it appears to serialize every single f: managed field as an input. We're putting together a simpler repo now, but its because we do a .apply on a Deployment object, which causes the entire object to be converted into an input. Every single f: field is a nested input that has to be converted which takes a massive amount of time now.
b

broad-dog-22463

11/10/2020, 7:32 PM
@gorgeous-egg-16927 @billowy-army-68599 can you help here?
b

billowy-army-68599

11/10/2020, 7:48 PM
I'm not really sure here I'm afraid
c

clever-nest-47198

11/10/2020, 8:08 PM
https://github.com/jeid64/pulumi-provider-bug/blob/118bug/__main__.py I'll open a ticket against pulumi-kubernetes with more info, but this repro's it every time if you're curious. essentially the managedFields strings just destroy performance since they are nested dictionaries, https://github.com/pulumi/pulumi/blob/78edb28590887593c91ffcb31baa52286150528f/sdk/python/lib/pulumi/output.py#L254 is especially costly
g

gorgeous-egg-16927

11/10/2020, 10:13 PM
Thanks for the detailed report! I responded on the issue