Skip to content

Suspicious Replicas: show last failure reason / error text per row #787

Description

@maany

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

  1. Add a "Last failure reason" column to the suspicious-replicas table.
  2. Truncate to a single line with the full text in a tooltip.
  3. 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

  1. 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

  • Data source captured in the ticket comments once the server change lands.
  • New "Last failure reason" column with tooltip for full text.
  • No regression on large result sets.

Probably worth landing #785 and #786 first since this is the largest of the three follow-ups.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

Size

None yet

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions