rucio / rucio/webui

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

Open
#787 0 comments 0 reactions 1 assignee View on GitHub

@maany is already working on this.

Since Jun 30, 2026.

Dominant language
TypeScript
Stars
5
Forks
36
Avg merge
6d 17h
Merged PRs (30d)
7

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.