just my 2c, I didn't really investigated this issue in more detail...

according to the javadoc of FileChannel.tryLock() the OverlappingFileLockException is thrown if the JVM already holds a lock on the channel.

in contrast, the current check in the repository startup method primarily focuses on the situation where *two* JVMs start a repository on the same home directory.

I'd say the OverlappingFileLockException is thrown because two repository instances are startup within the *same* JVM using the same repository home directory.

I suggest we add a catch clause, which also covers OverlappingFileLockException in addition to IOException.

regards
 marcel

Stefan Guggisberg wrote:
btw, afaik OverlappingFileLockException is only thrown on linux,
FileChannel#getLock on windows e.g. returns null in the same situation.

you might want to test on a different platform to further isolate the issue.
you could also place a breakpoint at the top of the
RepositoryImpl#acquireRepositoryLock
method, step through the code, verify the contents of your fs etc.

Reply via email to