public class SimpleFSLockFactory extends FSLockFactory
NOTE: the javadocs
File.createNewFile() contain a vague
yet spooky warning about not using the API for file
locking. This warning was added due to this
bug, and in fact the only known problem with using
this API for locking is that the Lucene write lock may
not be released when the JVM exits abnormally.
When this happens, a
is hit when trying to create a writer, in which case you
need to explicitly clear the lock file first. You can
either manually remove the file, or use the
API. But, first be certain that no writer is in fact
writing to the index otherwise you can easily corrupt
Special care needs to be taken if you change the locking implementation: First be certain that no writer is in fact writing to the index otherwise you can easily corrupt your index. Be sure to do the LockFactory change all Lucene instances and clean up all leftover lock files before starting the new configuration for the first time. Different implementations can not work together!
|Constructor and Description|
Create a SimpleFSLockFactory instance, with null (unset) lock directory.
Instantiate using the provided directory (as a File instance).
Instantiate using the provided directory name (String).
|Modifier and Type||Method and Description|
Attempt to clear (forcefully unlock and remove) the specified lock.
Return a new Lock instance identified by lockName.
FSDirectorysubclass, the lock directory is automatically set to the directory itself. Be sure to create one instance for each directory your create!
public SimpleFSLockFactory(File lockDir)
lockDir- where lock files should be created.
public SimpleFSLockFactory(String lockDirName)
lockDirName- where lock files should be created.
public void clearLock(String lockName) throws IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.