public class

VerifyingLockFactory

extends LockFactory
java.lang.Object
   ↳ org.apache.lucene.store.LockFactory
     ↳ org.apache.lucene.store.VerifyingLockFactory

Class Overview

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.

Summary

[Expand]
Inherited Fields
From class org.apache.lucene.store.LockFactory
Public Constructors
VerifyingLockFactory(byte id, LockFactory lf, String host, int port)
Public Methods
synchronized void clearLock(String lockName)
Attempt to clear (forcefully unlock and remove) the specified lock.
synchronized Lock makeLock(String lockName)
Return a new Lock instance identified by lockName.
[Expand]
Inherited Methods
From class org.apache.lucene.store.LockFactory
From class java.lang.Object

Public Constructors

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
Throws
IOException

Public Methods

public synchronized void clearLock (String lockName)

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.

Parameters
lockName name of the lock to be cleared.
Throws
IOException

public synchronized Lock makeLock (String lockName)

Return a new Lock instance identified by lockName.

Parameters
lockName name of the lock to be created.