Skip to content

Nexus repository database gets corrupted #2481

@cptanalatriste

Description

@cptanalatriste

✅ Checklist

  • I have searched open and closed issues for duplicates.
  • This is a problem observed when deploying a Data Safe Haven.
  • I can reproduce this with the latest version.
  • I have read through the documentation.
  • This isn't an open-ended question (open a discussion if it is).

💻 System information

  • Operating System: MacOS
  • Data Safe Haven version: v5.5.1

📦 Packages

List of packages
Paste list of packages here

🚫 Describe the problem

End users report the impossibility of installing packages with pip:

Image

When checking the logs of the Nexus container instances, it appears the Nexus database repository is corrupted:

com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: File corrupted while reading record: "/nexus-data/db/nexus.mv.db". Possible solution: use the recovery tool [90030-232]
Caused by: org.h2.mvstore.MVStoreException: File is corrupted - unable to recover a valid set of chunks [2.3.232/6]

It appears DSH is using an Embedded H2 database, which is prone to corruption. According to the documentation:

There is a heightened risk of data corruption, particularly if the server is not shut down properly, a power failure occurs, or for larger datasets.

Container instance tend to restart at random, which can explain why corruption tend to happen in multiple production SREs.

As a workaround, you can delete the Nexus container instance as well as the file shares related to it.

🌳 Log messages

See above.

Relevant log messages
Your log details here

♻️ To reproduce

It's very hard to reproduce. Corruption happens at random.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugProblem when deploying a Data Safe Haven.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions