[uss_qualifier] Improve participant identification from notifications#1454
Merged
Conversation
barroco
approved these changes
May 14, 2026
| class USSIdentifiers(ImplicitDict): | ||
| astm_url_regexes: Optional[list[str]] | ||
| """If a URL to an ASTM (F3411, F3548, etc) endpoint matches one of these regular expressions, assume the participant is responsible for that server""" | ||
| server_url_regexes: Optional[list[str]] |
Contributor
There was a problem hiding this comment.
This may deserve a note in the NEXT_RELEASE_NOTES.md
Member
Author
There was a problem hiding this comment.
Absolutely; thanks for the catch
| mock_uss: mock_uss_dp | ||
| id_generator: id_generator | ||
| dss_pool: dss_instances | ||
| uss_identification: uss_identification? |
Contributor
There was a problem hiding this comment.
Why is this optional for v19 and not v22a ?
Member
Author
There was a problem hiding this comment.
I think v22a is correct while this is not -- thanks; fixed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The PR fixes #1444 by improving the way participants responsible for notifications are identified. This PR builds on #1452 and only the second commit is distinct from that PR.
One previous difficulty is that query clients were being evaluated similarly to query servers when attempting to determine attribution. This PR makes the identification routines explicit regarding whether the participant ID for the client or server of a query is being determined.
When a client is being determined, an appropriate method is to look at callback URLs in the payload the client provided if the payload contains a callback URL. To determine whether a query's payload contains a callback URL, we need to know what type of query it is, and this is accomplished by #1452 when retrieving interaction queries from mock_uss. For a few specific types of queries, callback URLs are extracted from their particular locations in each of those query types and then compared against server URL regexes.
The configuration parameter astm_url_regexes is clarified and broadened to server_url_regexes since there is no reason the server in question needs to be serving an ASTM endpoint to identify the participant responsible for that server.
These explicit participant identification methods are used in sp_notification_behavior.py, replacing the previous incorrect ad hoc method of participant identification.
This PR also opportunistically fixes some other issues with sp_notification_behavior.py: