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:
  • Constructor Details

    • VerifyingLockFactory

      public VerifyingLockFactory(byte id, LockFactory lf, String host, int port)
      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
  • Method Details

    • 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