Skip to content

Geo: Identifying, re-syncing and reverifying unreplicated data should be easy

Problem to solve

Systems administrators may encounter situations in which not all data was correctly replicated using Geo. For example, let's imagine 97/100 LFS objects were successfully replicated. Systems administrators are currently not able to use the administrator UI to, Identify which three LFS objects are missing, why those three LFS objects are missing, retry the replication or reverify those objects. The only way to perform these actions is use a rails shell and use several (I believe not documented) commands.

Intended users

Further details

Currently, Geo displays status like this:

Screenshot_2019-11-12_at_13.56.24

If files are not synced, the percentage will go down.

For Uploads and Projects additional pages are available to observe the status:

Screenshot_2019-11-12_at_14.05.08

These allow for reverifcation and resync and you can select different tabs (all, failed, pending etc.)

Proposal

  1. Iterate quickly by adding similar pages for all missing other datatypes (LFS, CI job artefacts, container registries, objects in object storage)
  2. We could also start a redesign for a more scalable pattern of how to present this information

Proposed design

cases

  • Unlike the representation of the number on the current graph, all the numbers should stay in this popover.
  • When users click on the link at the bottom of popovers, then it leads users to relevant subpages.
  • If there is no subpages to be shown, then the link won't be there :)

ex-layout

This could be the general look when the user hovers over the graph.

Documentation

  • This should certainly be included in documentation for geo

Testing

What does success look like, and how can we measure that?

As a systems administrator, I can use the administrator interface to identify data that is not replicated quickly and attempt corrective action by forcing a resync.

What is the type of buyer?

  • Premium
  • Ultimate

Links / references

#7126 (closed)

Approach

Edited by Sunjung Park