-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Function unable to run intermittently when multiple claims applied to cluster #68
Comments
Also seeing something a bit worrying in the events of one composite whereby it reported the following:
The "replicationLocations" property ONLY exists in a completely separate composition to the one it got reported in. How is that possible? Some issue related to the concurrency and the fact all of my compositions have |
Also seeing the following message in some composites. So multiple things not happy with running functions concurrently for different compositions:
|
I made a mistake earlier saying all composites eventually reconciled. The composite that reported the previous error still has not. Maybe it would if I waited a really long time but it's an issue nonetheless. |
Make sense. This is because the KCL basic image has set a common cache path |
Thanks @Peefy . Would that explain all the issues I was seeing do you think? |
Yes. |
I've fixed it in the PR #69 and released the function-kcl v0.5.1 package. |
Yep installing already :-) Thanks for the speedy fix @Peefy |
@Peefy still seeing the errors using v0.5.1 Describe status of one of the composites: Status: Normal SelectComposition 27s defined/compositeresourcedefinition.apiextensions.crossplane.io Successfully selected composition: document-composite |
Sorry, I've released https://marketplace.upbound.io/functions/crossplane-contrib/function-kcl/v0.5.2 with the PR #70 |
Thank you. Will let you know shortly if all good. |
I don't see the This shows there seems to be still some conflict re /tmp across concurrent usage: Warning ComposeResources 7m49s defined/compositeresourcedefinition.apiextensions.crossplane.io cannot compose resources: pipeline step "normal" returned a fatal result: failed to run kcl function pipelines: failed to compile the kcl package |
cc @zong-zhe Could you please help to fix it? |
FYI all the compositions do complete eventually this time. Still think that last error needs a resolution though. |
Hi @Peefy is 0.5.3 (with the lock) something you want me to test? |
Haven't Yet. @zong-zhe he is doing some fix for the package symlink. |
Ah okay. Cool. |
What happened?
When applying multiple claims to a cluster using a single manifest file (using "---" separator between claims) Crossplane initially reports the following error when describing most of the composites:
"Message: cannot compose resources: cannot run Composition pipeline step "normal": cannot run Function "kcl-function": rpc error: code = DeadlineExceeded desc = context deadline exceeded"
Eventually all composites are reconciled correctly but it would appear like the function cannot handle concurrent execution perhaps? This has the effect of degrading the performance of reconciling many resources at once.
NOTE: Applying each claim separately and waiting for a result works without the error occurring.
How can we reproduce it?
Create a composite and apply several claims in one go. Observe each of the composites to see the error message.
What environment did it happen in?
Function version: v0.4.0
Crossplane: v1.15.0
Client Version: v1.29.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.0
The text was updated successfully, but these errors were encountered: