-
Notifications
You must be signed in to change notification settings - Fork 32
🎨Only require sticky connection on specific endpoints (🚨🚨) #7839
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
🎨Only require sticky connection on specific endpoints (🚨🚨) #7839
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #7839 +/- ##
==========================================
+ Coverage 87.89% 87.93% +0.04%
==========================================
Files 1837 1830 -7
Lines 71032 70842 -190
Branches 1219 1219
==========================================
- Hits 62434 62296 -138
+ Misses 8255 8203 -52
Partials 343 343
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
398cf31 to
a14651e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Blocked until release v1.83.0 is out
release was postponed so this can go in now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR scopes sticky session routing to only the required endpoints and increases the webserver replica count to improve resilience and allow early detection of in-process tasks.
- Scale webserver service to 2 replicas for early detection of in-process tasks
- Remove global sticky session labels and introduce a dedicated Traefik service/router for specific endpoints
- Clean up blank lines in compose files and add new Python extra paths in VSCode settings
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| services/docker-compose.yml | Added replicas: 2, removed global sticky labels, introduced dedicated sticky service |
| services/docker-compose.local.yml | Updated local sticky service label and secure flag |
| .vscode/settings.template.json | Added common-library and dask-task-models-library to Python extraPaths |
Comments suppressed due to low confidence (2)
services/docker-compose.local.yml:162
- [nitpick] Consider adding
sticky.cookie.httponlyandsticky.cookie.samesitelabels in local compose, so dev mirrors production cookie security settings.
- - traefik.http.services.${SWARM_STACK_NAME}_webserver_sticky.loadbalancer.sticky.cookie.secure=false
services/docker-compose.yml:1359
- [nitpick] This single-line array is harder to read and maintain compared to the previous multiline format; consider restoring multiline YAML for clarity.
[ "redis-server", "--save", "60 1", "--loglevel", "verbose", "--databases", "10", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD}" ]
mrnicegyu11
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
very very nice effort, thx
2b9a1f2 to
0ce2954
Compare
pcrespov
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx
YuryHrytsuk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, let me know what is the exact requirement for static-webserver replica's count.
I will then create a corresponding PR for osparc-ops-environments repo
0ce2954 to
3406ee6
Compare
|
@mergify queue |
✅ The pull request has been merged automaticallyThe pull request has been merged automatically at cf51daf |
3406ee6 to
72c3fb2
Compare
|
YuryHrytsuk
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!



What do these changes do?
only require sticky connection for
These entrypoints rely on in-process tasks to be available, otherwise these actions fail.
Once the tasks get completely process agnostic, the sticky connection shall be completely removed and then scaling up webservers shall have a direct effect when the number of users increases (see #7778).
Also this PR sets the number of replicas of the webserver to 2 to decrease the chances of adding in-process tasks again.
NOTE: This is a rather risky PR on which we agreed to merge only after the current release
Related issue/s
How to test
Dev-ops