Skip to main content
ConfigSync uses locks to prevent concurrent access to the same repository from multiple ConfigSync instances. The lock is a file named .lock in the root of the repository. The lock file contains a UUID that is generated when the lock is acquired. Each time on startup, ConfigSync checks if the lock file exists in the repository and the file contents match the UUID in the config-sync.branch-lock Fusion configuration property (stored in ZooKeeper).
  • If the lock file does not exist, ConfigSync creates it and writes the UUID to the file.
  • If the Fusion configuration property is not set, ConfigSync sets the UUID in the config-sync.branch-lock property to the UUID in the lock file.
  • If the lock file exists and the UUID in the file matches the UUID in the config-sync.branch-lock Fusion configuration, ConfigSync continues to work with the repository; otherwise it fails to start.
If you encounter an error like App lock <SOME-UUID> doesn’t match git lock <SOME-OTHER-UUID>, see Delete the ConfigSync lock file.
If you recreate a Fusion cluster, the lock file remains in the repository and prevents ConfigSync from starting. You might see the following error in the logs:
Caused by: java.lang.IllegalStateException: App lock <some-uuid> doesn't match git lock <some-other-uuid>
at com.lucidworks.cloud.config.repo.AbstractSubscriberGitRepo.checkLock(AbstractSubscri
To resolve this issue:
  1. Delete the lock file. The lock is a file named .lock in the root of the repository.
  2. Restart the config-sync service.
I