Skip to content
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

fix: ensure namespace parallelism and parallelism work together. Fixes #10985 #14039

Merged
merged 22 commits into from
Jan 9, 2025

Conversation

isubasinghe
Copy link
Member

@isubasinghe isubasinghe commented Dec 30, 2024

Fixes #10985

Motivation

The current throttler code does not work when used in unison with namespace parallelism and parallelism. This is because the concept of the chain throttler unfortunately doesn't work.

Modifications

Corrected a bug where workflows weren't added into the running list/map when the parallelism was set to 0.
Added tracking for namespace counts into a new throttler.

Verification

Relied on tests to pass

Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
@isubasinghe isubasinghe changed the title Fix namespace parallelism. Fixes #10985 fix: ensure namespace parallelism and parallelism work together. Fixes #10985 Dec 30, 2024
Signed-off-by: isubasinghe <isitha@pipekit.io>
fix: test
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
@isubasinghe
Copy link
Member Author

/retest

Signed-off-by: isubasinghe <isitha@pipekit.io>
@isubasinghe
Copy link
Member Author

/retest

@Joibel Joibel self-assigned this Jan 2, 2025
@Joibel Joibel added area/controller Controller issues, panics area/parallelism `parallelism` for the Controller, Workflows, or templates labels Jan 2, 2025
@isubasinghe
Copy link
Member Author

/retest

2 similar comments
@isubasinghe
Copy link
Member Author

/retest

@isubasinghe
Copy link
Member Author

/retest

@isubasinghe isubasinghe marked this pull request as ready for review January 3, 2025 06:32
@isubasinghe
Copy link
Member Author

/retest

@MasonM
Copy link
Member

MasonM commented Jan 6, 2025

@isubasinghe The E2E tests are broken due to a bug in Kit. I have a fix for it in #14048. Could you please review that PR?

@isubasinghe isubasinghe force-pushed the fix-namespace-parallelism branch from 183177a to 8be3e3c Compare January 6, 2025 02:06
@isubasinghe
Copy link
Member Author

/retest

@isubasinghe
Copy link
Member Author

@isubasinghe The E2E tests are broken due to a bug in Kit. I have a fix for it in #14048. Could you please review that PR?

Thanks, I will do

Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
@isubasinghe
Copy link
Member Author

/retest

Copy link
Member

@Joibel Joibel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also needs some documentation in docs/parallelism.md to document that when using namespaceParallelism a lower priority workflow in a namespace that has capacity will run before a high priority workflow in a namespace with no capacity.

I assume this is the intentional behaviour - it feels the sane option.

Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
Signed-off-by: isubasinghe <isitha@pipekit.io>
@isubasinghe
Copy link
Member Author

/retest

1 similar comment
@isubasinghe
Copy link
Member Author

/retest

@isubasinghe
Copy link
Member Author

/retest

@isubasinghe
Copy link
Member Author

The test have gotten flakier, unsure if this contributed or something else did.

Signed-off-by: isubasinghe <isitha@pipekit.io>
@isubasinghe
Copy link
Member Author

/retest

Copy link
Member

@Joibel Joibel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you

@isubasinghe isubasinghe merged commit 09d5ee7 into argoproj:main Jan 9, 2025
31 checks passed
@Joibel Joibel deleted the fix-namespace-parallelism branch January 10, 2025 13:38
@Joibel
Copy link
Member

Joibel commented Jan 27, 2025

This PR seems to be the cause of the SignalsSuite test failures - they almost always fail with this change, and reverting makes them much better.

isubasinghe added a commit to pipekit/argo-workflows that referenced this pull request Jan 30, 2025
isubasinghe added a commit to pipekit/argo-workflows that referenced this pull request Jan 30, 2025
isubasinghe added a commit to pipekit/argo-workflows that referenced this pull request Jan 31, 2025
isubasinghe added a commit that referenced this pull request Jan 31, 2025
Joibel pushed a commit that referenced this pull request Feb 7, 2025
…#10985 (#14039)

Signed-off-by: isubasinghe <isitha@pipekit.io>
(cherry picked from commit 09d5ee7)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/controller Controller issues, panics area/parallelism `parallelism` for the Controller, Workflows, or templates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cannot set both parallelism and namespaceParallelism
3 participants