Package org.apache.lucene.store
Class VerifyingLockFactory
- java.lang.Object
-
- org.apache.lucene.store.LockFactory
-
- org.apache.lucene.store.VerifyingLockFactory
-
public final class VerifyingLockFactory extends LockFactory
ALockFactorythat wraps anotherLockFactoryand verifies that each lock obtain/release is "correct" (never results in two processes holding the lock at the same time). It does this by contacting an external server (LockVerifyServer) to assert that at most one process holds the lock at a time. To use this, you should also runLockVerifyServeron the host and port matching what you pass to the constructor.- See Also:
LockVerifyServer,LockStressTest
-
-
Constructor Summary
Constructors Constructor Description VerifyingLockFactory(LockFactory lf, InputStream in, OutputStream out)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LockobtainLock(Directory dir, String lockName)Return a new obtained Lock instance identified by lockName.
-
-
-
Constructor Detail
-
VerifyingLockFactory
public VerifyingLockFactory(LockFactory lf, InputStream in, OutputStream out) throws IOException
- Parameters:
lf- the LockFactory that we are testingin- the socket's input toLockVerifyServerout- the socket's output toLockVerifyServer- Throws:
IOException
-
-
Method Detail
-
obtainLock
public Lock obtainLock(Directory dir, String lockName) throws IOException
Description copied from class:LockFactoryReturn a new obtained Lock instance identified by lockName.- Specified by:
obtainLockin classLockFactorylockName- name of the lock to be created.- Throws:
LockObtainFailedException- (optional specific exception) if the lock could not be obtained because it is currently held elsewhere.IOException- if any i/o error occurs attempting to gain the lock
-
-