Skip to content

Locking model

MinaConfigGuard uses a global lock to prevent concurrent operations.

Why locking exists

Without a lock you can get: - Partially copied backups - Restore while backup is running - Scheduler racing manual operations - Inconsistent metadata

What uses the lock

  • /cg backup
  • /cg restore
  • /cg reload
  • Scheduler jobs
  • Shutdown backup

Behavior

If the lock is busy: - Manual backup is refused immediately - Restore is refused immediately - Reload is refused immediately - Scheduler jobs may be skipped for that tick - Shutdown backup may be skipped after lockTimeoutMillis

Practical advice

If you see lock busy messages: - Wait for the current job to finish - Reduce FULL backup frequency - Keep scheduler jobs reasonable