org.apache.lucene.store
Class VerifyingLockFactory

java.lang.Object
  extended by org.apache.lucene.store.LockFactory
      extended by 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

Field Summary
 
Fields inherited from class org.apache.lucene.store.LockFactory
lockPrefix
 
Constructor Summary
VerifyingLockFactory(byte id, LockFactory lf, String host, int port)
           
 
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 org.apache.lucene.store.LockFactory
getLockPrefix, setLockPrefix
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VerifyingLockFactory

public VerifyingLockFactory(byte id,
                            LockFactory lf,
                            String host,
                            int port)
                     throws IOException
Parameters:
id - should be a unique id across all clients
lf - the LockFactory that we are testing
host - host or IP where LockVerifyServer is running
port - the port LockVerifyServer is listening on
Throws:
IOException
Method Detail

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.