de.bsvrz.ars.ars.persistence
Class RestorePersDirTsk

java.lang.Object
  extended by java.lang.Thread
      extended by de.bsvrz.ars.ars.mgmt.tasks.Task
          extended by de.bsvrz.ars.ars.persistence.RestorePersDirTsk
All Implemented Interfaces:
SuspendableTask, java.lang.Runnable

public class RestorePersDirTsk
extends Task

Diese Klasse teilt das Persistenzverzeichnis in disjunkte Teilbaeume auf und stellt alle Verwaltungsinformationen wieder her.

Version:
$Revision: 1.2 $ / $Date: 2008/01/22 16:55:57 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Alexander Schmidt
See Also:
PersistenceManager.REBUILDINDEX_FILE_FLAG_NAME, PersistenceManager.rebuildIndex(Task, byte[], long, long, long, int, ArchiveDataKind)

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
static int test_badDID
           
static int test_frebuilt
           
static int test_goodDID
           
static int test_totalDID
           
static int test_viscont
           
 
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, logger, ringOfDeathListener, taskStepListeners
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Method Summary
static void cleanUp()
          Gibt den benutzten Speicher frei (insbes.
static int getBadDID()
           
static int getFullyRebuiltCont()
           
static int getGoodDID()
           
static long getMaxArchiveTime()
           
static long getMaxContID()
           
static int getMaxMedienID()
           
static int getTotalDID()
           
static int getVisitedCont()
           
static boolean restoreDone()
           
 void run()
          Durchlaueft mit Hilfe eines ContainerDataIterator jedes Verzeichnis aus startDirs und stellt die Verwaltungsinformation wieder her.
static void startRestore(PersistenceManager pMgr, int numOfPartitions)
          Zerlegt das Persistenzverzeichnis in eine Anzahl disjunkter Teile, erzeugt ebenso viele Wiederherstellungstasks und startet sie.
static java.lang.String status()
           
static boolean success()
           
static java.lang.String summary()
           
static void terminateRestore()
          Bricht den Wiederherstellungslauf ab
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTask
 
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
 

Field Detail

test_totalDID

public static int test_totalDID

test_badDID

public static int test_badDID

test_goodDID

public static int test_goodDID

test_viscont

public static int test_viscont

test_frebuilt

public static int test_frebuilt
Method Detail

startRestore

public static void startRestore(PersistenceManager pMgr,
                                int numOfPartitions)
Zerlegt das Persistenzverzeichnis in eine Anzahl disjunkter Teile, erzeugt ebenso viele Wiederherstellungstasks und startet sie. Zum Wiederherstellen gehoert:

Parameters:
pMgr - Aufrufender PersistenceManager
numOfPartitions - gewuenschte maximale Anzahl disjunkter Teile

restoreDone

public static boolean restoreDone()
Returns:
Wahr, falls alle Tasks fertig sind, falsch sonst

terminateRestore

public static void terminateRestore()
Bricht den Wiederherstellungslauf ab


cleanUp

public static void cleanUp()
Gibt den benutzten Speicher frei (insbes. den von den einzelnen Tasks zum Wiederherstellen der Indexe benoetigten Speicher)


getMaxArchiveTime

public static long getMaxArchiveTime()
Returns:
Maximum der von allen Threads gefundenen Archivzeit

getMaxContID

public static long getMaxContID()
Returns:
Maximum der von allen Threads gefundenen Container-ID

getMaxMedienID

public static int getMaxMedienID()
Returns:
Maximum der von allen Threads gefundenen Medien-ID

getTotalDID

public static int getTotalDID()
Returns:
Summe der von allen Threads besuchten DID-Verzeichnisse

getGoodDID

public static int getGoodDID()
Returns:
Summe der von allen Threads besuchten DID-Verzeichnisse, in denen die Wiederherstellung erfolgreich abgeschlossen wurde.

getBadDID

public static int getBadDID()
Returns:
Summe der von allen Threads besuchten DID-Verzeichnisse, in denen die Wiederherstellung nicht erfolgreich abgeschlossen wurde.

getVisitedCont

public static int getVisitedCont()
Returns:
Zahl der bisher besuchten Container

getFullyRebuiltCont

public static int getFullyRebuiltCont()
Returns:
Zahl der bisher besuchten Container, bei denen alle Datensaetze zur Wiederherstellung gelesen werden mussten

success

public static boolean success()
Returns:
Wahr, falls kein Verzeichnis nicht wiederhergestellt werden konnte, falsch sonst

summary

public static java.lang.String summary()
Returns:
Zusammenfassung des Wiederherstellungslaufes

status

public static java.lang.String status()
Returns:
Zwischenstand des Wiederherstellungslaufes

run

public void run()
Durchlaueft mit Hilfe eines ContainerDataIterator jedes Verzeichnis aus startDirs und stellt die Verwaltungsinformation wieder her.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.