-
Notifications
You must be signed in to change notification settings - Fork 5
Made default service_ver release #111
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
Conversation
Currently if no service ver is supplied, the job runner will use whatever version is returned by the catalog, which could be surprising for users. This change updates the JR to use `release` if no service version is supplied, which mirrors the behavior of the original Java callback service.
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 changes the default service version from None (which uses whatever the catalog returns) to "release" when no service version is explicitly provided, making the Python job runner's behavior consistent with the original Java callback service.
- Updates service version fallback logic across multiple modules to default to "release"
- Adds comprehensive test coverage for the new default behavior
- Updates existing test assertions to reflect the new default version handling
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| JobRunner/callback_server.py | Updates service version fallback to use "release" as default |
| JobRunner/MethodRunner.py | Applies same default "release" logic with TODO comment about code duplication |
| JobRunner/JobRunner.py | Updates service version resolution to use "release" default |
| test/test_callback_server_integration.py | Adds tests for default service version behavior and updates existing test assertions |
| nowutc = datetime.utcnow().replace(tzinfo=timezone.utc) | ||
| ts = nowutc.replace(microsecond=0).isoformat() | ||
|
|
||
| # TODO CODE this code block appears in 4 places in the codebase |
Copilot
AI
Aug 11, 2025
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.
The TODO comment indicates code duplication across 4 locations. Consider extracting the service version resolution logic into a shared utility function to eliminate this duplication and improve maintainability.
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.
This'll happen later, hence the TODO
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #111 +/- ##
==========================================
+ Coverage 80.95% 81.03% +0.08%
==========================================
Files 13 13
Lines 1155 1155
==========================================
+ Hits 935 936 +1
+ Misses 220 219 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
bio-boris
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.
There are probably apps that depend on unreleased code that will break as a result of this. We will see.
|
Installed clients should always send a service version, so these changes should only come into play if someone is rolling their own requests to the CBS, which seems really unlikely. |
Currently if no service ver is supplied, the job runner will use whatever version is returned by the catalog, which could be surprising for users. This change updates the JR to use
releaseif no service version is supplied, which mirrors the behavior of the original Java callback service.