Package org.apache.lucene.store
Class VerifyingLockFactory
- java.lang.Object
-
- org.apache.lucene.store.LockFactory
-
- org.apache.lucene.store.VerifyingLockFactory
-
public 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 & port matching what you pass to the constructor.- See Also:
LockVerifyServer,LockStressTest
-
-
Constructor Summary
Constructors Constructor Description VerifyingLockFactory(byte id, LockFactory lf, java.lang.String host, int port)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearLock(java.lang.String lockName)Attempt to clear (forcefully unlock and remove) the specified lock.LockmakeLock(java.lang.String lockName)Return a new Lock instance identified by lockName.-
Methods inherited from class org.apache.lucene.store.LockFactory
getLockPrefix, setLockPrefix
-
-
-
-
Constructor Detail
-
VerifyingLockFactory
public VerifyingLockFactory(byte id, LockFactory lf, java.lang.String host, int port)- Parameters:
id- should be a unique id across all clientslf- the LockFactory that we are testinghost- host or IP whereLockVerifyServeris runningport- the portLockVerifyServeris listening on
-
-
Method Detail
-
makeLock
public Lock makeLock(java.lang.String lockName)
Description copied from class:LockFactoryReturn a new Lock instance identified by lockName.- Specified by:
makeLockin classLockFactory- Parameters:
lockName- name of the lock to be created.
-
clearLock
public void clearLock(java.lang.String lockName) throws java.io.IOExceptionDescription copied from class:LockFactoryAttempt to clear (forcefully unlock and remove) the specified lock. Only call this at a time when you are certain this lock is no longer in use.- Specified by:
clearLockin classLockFactory- Parameters:
lockName- name of the lock to be cleared.- Throws:
java.io.IOException
-
-