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`

- - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.store.LockFactory

      `lockPrefix`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `VerifyingLockFactory(byte id, LockFactory lf, java.lang.String host, int port)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clearLock(java.lang.String lockName)` Attempt to clear (forcefully unlock and remove) the specified lock.
    `Lock` | `makeLock(java.lang.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,
                                      java.lang.String host,
                                      int port)
                               throws java.io.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:
        `java.io.IOException`

  - ### Method Detail

    - #### makeLock

          public Lock makeLock(java.lang.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(java.lang.String lockName)
                         throws java.io.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:
        `java.io.IOException`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.