org.apache.derby.impl.services.net.shipper
Class LogicalCatchUp

java.lang.Object
  extended byjava.lang.Thread
      extended byorg.apache.derby.impl.services.net.shipper.LogicalCatchUp
All Implemented Interfaces:
java.lang.Runnable

public class LogicalCatchUp
extends java.lang.Thread

LogicalCatchUp is a service created to provide catchup to newly discovered HotStandby databases. The LogicalCatchup service checks if a catchup is needed between the two databases. If it is needed the log is scanned for changes and sent to the HotStandby until it is finally caught up. Some severe problems occur during catchup if the database is under a lot of stress. The log can fill faster than the catchup can provide logs for the HotStandby and the primary database will sooner or later run out of memory. This could be solved by denying or limiting connections while the catchup is in progress. However, this is beyond the scope of this project.

Author:
Egil S¿rensen

Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
LogicalCatchUp(int currentLocalLsn)
          Create and start a new LogicalCatchUp service
 
Method Summary
 void run()
          Run the service, consists of calling the provideCatchUp()-method
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LogicalCatchUp

public LogicalCatchUp(int currentLocalLsn)
Create and start a new LogicalCatchUp service

Parameters:
currentLocalLsn - The last lsn of the local database
Method Detail

run

public void run()
Run the service, consists of calling the provideCatchUp()-method