org.apache.lucene.store
Class VerifyingLockFactory
java.lang.Object
org.apache.lucene.store.LockFactory
org.apache.lucene.store.VerifyingLockFactory
public class VerifyingLockFactory
- extends LockFactory
A LockFactory
that wraps another LockFactory
and 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 run LockVerifyServer
on the
host & port matching what you pass to the constructor.
- See Also:
LockVerifyServer
,
LockStressTest
Method Summary |
void |
clearLock(String lockName)
Attempt to clear (forcefully unlock and remove) the
specified lock. |
Lock |
makeLock(String lockName)
Return a new Lock instance identified by lockName. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
VerifyingLockFactory
public VerifyingLockFactory(byte id,
LockFactory lf,
String host,
int port)
throws IOException
- Parameters:
id
- should be a unique id across all clientslf
- the LockFactory that we are testinghost
- host or IP where LockVerifyServer
is runningport
- the port LockVerifyServer
is
listening on
- Throws:
IOException
makeLock
public Lock makeLock(String lockName)
- Description copied from class:
LockFactory
- Return a new Lock instance identified by lockName.
- Specified by:
makeLock
in class LockFactory
- Parameters:
lockName
- name of the lock to be created.
clearLock
public void clearLock(String lockName)
throws IOException
- Description copied from class:
LockFactory
- Attempt 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:
clearLock
in class LockFactory
- Parameters:
lockName
- name of the lock to be cleared.
- Throws:
IOException
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.