Architecting Forgejo Storage: Managing the Database and Filesystem Split
Explore the architectural split between metadata databases and Git filesystems in Forgejo, including strategies to prevent orphaned repositories and manage inode exhaustion.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Explore the architectural split between metadata databases and Git filesystems in Forgejo, including strategies to prevent orphaned repositories and manage inode exhaustion.
Stop dealing with partial database updates. Learn how to use Spring's @Transactional to ensure atomicity, avoid the common self-invocation proxy trap, and optimize connection usage.
Learn how to use Apache Cassandra's Lightweight Transactions (LWT) and the Paxos protocol to prevent race conditions and ensure linearizability for critical writes.
Context A Jira Data Center upgrade fails during a sequential upgrade task, leaving the database in an intermediate state not matching any released version. Atlassian documents two recovery approaches: (1) restore the pre-upgrade database and <jira-home> from backup, or (2) fix the underlying issue and re-run the upgrade task. Constraint The maintenance
Goal: Confirm that a database restored from a YunoHost backup is left in a consistent state without requiring manual intervention. Uncertainty: The documentation does not specify whether YunoHost automatically runs a database integrity check immediately after a restoration, and it is unclear if this behavior varies between YunoHost releases or depends on the