Refs the legacy ticket #24 (third bullet, Rod's request for "the last data.reason_text from the dashbd").
The suspicious replicas page lists files with one or more failed access attempts, but it does not tell us why the latest attempt failed. To decide whether to declare bad / lost we usually have to click through to the DDM dashboard. Showing the reason inline would save a lot of round trips.
Blocked on a Rucio server change
No existing HTTP endpoint returns the reason text per replica:
GET /replicas/suspicious/ (which we already use) does not surface reason.
GET /replicas/bad/states and GET /replicas/bad/summary do not either.
- The reason is persisted server-side (one row per (scope, name, rse, state, created_at)), and a core helper exists to fetch the latest, but it is not wired into any REST view.
The cleanest upstream change is to extend GET /replicas/suspicious/ so the rows it already returns include the most-recent reason. That keeps the UI on a single bulk endpoint and avoids N round-trips per page render.
WebUI work, once unblocked
- Add a "Last failure reason" column to the suspicious-replicas table.
- Truncate to a single line with the full text in a tooltip.
- No extra fetches if the reason comes back inline with the suspicious payload; if the server exposes it via a separate per-tuple endpoint instead, decide on lazy / batched loading before shipping.
Research on Rucio repo
- investigate whether rucio API returns last failure reasons or the failure reasons, if not we need to work on this first and block working on this issue until that is resolved.
Acceptance
Probably worth landing #785 and #786 first since this is the largest of the three follow-ups.
Refs the legacy ticket #24 (third bullet, Rod's request for "the last data.reason_text from the dashbd").
The suspicious replicas page lists files with one or more failed access attempts, but it does not tell us why the latest attempt failed. To decide whether to declare bad / lost we usually have to click through to the DDM dashboard. Showing the reason inline would save a lot of round trips.
Blocked on a Rucio server change
No existing HTTP endpoint returns the reason text per replica:
GET /replicas/suspicious/(which we already use) does not surfacereason.GET /replicas/bad/statesandGET /replicas/bad/summarydo not either.The cleanest upstream change is to extend
GET /replicas/suspicious/so the rows it already returns include the most-recent reason. That keeps the UI on a single bulk endpoint and avoids N round-trips per page render.WebUI work, once unblocked
Research on Rucio repo
Acceptance
Probably worth landing #785 and #786 first since this is the largest of the three follow-ups.