CROSSLINK-264 retry-action#622
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds retry-related entries to the returnables patron-request state model for CROSSLINK-264, introducing a requester-side retry event and supplier-side retry action.
Changes:
- Adds
accept-retryevent on requesterSENT, transitioning toNEW. - Adds
ask-retryaction on supplierVALIDATED, transitioning toNEW. - Keeps generated runtime JSON in sync with
misc/returnables.yaml.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
misc/returnables.yaml |
Adds retry event/action declarations to the source state model. |
broker/patron_request/service/statemodels/returnables.json |
Updates the generated embedded runtime state model with the same retry declarations. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
broker/patron_request/service/action.go — When auto-actions fail on the new (retry) PR, there is no trace of this failure on the original PR. I think we should ensure the original PR is also marked as needing attention ( |
|
misc/returnables.yaml / broker/patron_request/service/statemodels/returnables.json — supplier
|
Done |
Done |
There was a problem hiding this comment.
@adamdickmeiss There's a conceptual problem here: the NotFoundAsCited aka Transfer must restart locating suppliers because the new Bib ID can result in different holdings. This is a different use case than the regular retry which is sent to the same supplier and the rota is unchanged. Since we operate on the same transaction, I think we should call locate-suppliers again but change it so that it skips all existing suppliers first, does the new lookup and appends new suppliers to the list. Then select the first new supplier. It also means the fix for supplierUniqueId overriding the localId is not be needed -- we should only use the updated ID when the reason retry is NotFoundAsCited or Transfer.
| prevReqId: | ||
| type: string | ||
| description: ID of the previous patron request in the sequence | ||
| retryBibInfo: |
There was a problem hiding this comment.
this should use a proper Go type in the API model via the overlay and avoid going through the map
https://index-data.atlassian.net/browse/CROSSLINK-264