Skip to content

use swap inode pattern when writing syncdb database

We should evaluate to not write the syncdb database directly to the target file from python default.db.tar.gz as this could lead to half written databases that may get synced while writing.

Instead we should use a swap inode pattern by writing to a temporary location and afterwards use a move command that will just swap around filesystem inodes instead of actual IO write operations. By doing so, we are safe in terms of accessing the syncdb database while its in a half-written state.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information