package com.atlassian.bitbucket.mesh.app;

/**
 * Thrown when a lock on a directory cannot be acquired due to an underlying exception.
 * <p>
 * While the <i>exact</i> list of potential causes for this exception is not well-known, there are a couple of common
 * possibilities:
 * <ul>
 *     <li>The user account running this instance does not have write permissions to the directory, or the
 *     directory does not exist and could not be created.</li>
 *     <li>The lock is already held <i>by this JVM</i>. This could happen, for example, by trying to acquire the lock
 *     multiple times during startup.</li>
 * </ul>
 * While there are other possibilities, there is one notable case that is <i>not</i> a possibility, which is that
 * another running instance already has the lock. The locking mechanism used precludes this possibility.
 *
 * @see HomeLockDeniedException
 */
public class HomeLockFailedException extends HomeLockException {

    public HomeLockFailedException(String message, String action, Throwable cause) {
        super(message, action, cause);
    }
}
