org.egothor.dir
Class IndexRecovery

java.lang.Object
  extended by java.lang.Thread
      extended by org.egothor.dir.IndexRecovery
All Implemented Interfaces:
java.lang.Runnable

public class IndexRecovery
extends java.lang.Thread

This class is called everytime a check for crashed client thread is needed. It locks an index directory and rollbacks everyone that crashed in that directory.

- Readers cannot do any damage, so only their read lock is deleted.

- Modifiers cannot do any damage either, their data is deleted.

- Commiters may have caused some damage - all their new barrels are deleted, so no append nor removeDoc is preserved. All local data is deleted too. The index should be in previous consistent state.

Author:
Jakub Podhorny

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
IndexRecovery(java.lang.String location, java.lang.String lockServerConfigFilename)
           
 
Method Summary
static void main(java.lang.String[] args)
           
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IndexRecovery

public IndexRecovery(java.lang.String location,
                     java.lang.String lockServerConfigFilename)
Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

main

public static void main(java.lang.String[] args)