com.sleepycat.je.recovery
Class RollbackTracker.RollbackPeriod

java.lang.Object
  extended by com.sleepycat.je.recovery.RollbackTracker.RollbackPeriod
Enclosing class:
RollbackTracker

static class RollbackTracker.RollbackPeriod
extends Object

A RollbackPeriod describes a section of the log that is logically truncated.


Constructor Summary
RollbackTracker.RollbackPeriod(long matchpointLSN, long rollbackStartLSN, long rollbackEndLSN, long checkpointStart)
           
RollbackTracker.RollbackPeriod(RollbackTracker tracker, RollbackEnd rollbackEnd, long rollbackEndLSN)
           
RollbackTracker.RollbackPeriod(RollbackTracker tracker, RollbackStart rollbackStart, long rollbackStartLSN)
           
 
Method Summary
(package private)  boolean beforeCheckpointStart()
           
(package private)  String bracketFailure(long lsn)
           
(package private)  boolean contains(long lsn)
          This log entry belongs to this rollback period if it lies between the matchpoint and the RollbackStart.
(package private)  boolean containsLN(long lsn, long txnId)
           
 boolean equals(Object other)
           
(package private)  void fail(String errorMessage)
           
(package private)  RollbackTracker.RollbackPeriod findTarget(long lsn, long txnId)
           
(package private)  boolean follows(long lsn)
           
(package private)  TxnChain getChain(long txnId, long undoLsn, EnvironmentImpl envImpl)
           
(package private)  RollbackTracker.RollbackPeriod getNewPeriodTarget(RollbackEnd foundRBEnd, long foundLSN)
          Return the period that should own this foundRBEnd.
(package private)  RollbackTracker.RollbackPeriod getNewPeriodTarget(RollbackStart foundRBStart, long foundLSN)
          Return the period that should own this foundRBStart.
(package private)  RollbackTracker.RollbackPeriod getScannerTarget(long lsn)
           
 int hashCode()
           
(package private)  boolean hasRollbackEnd()
           
(package private)  void initChildIter()
           
(package private)  boolean makeNestedPeriod(RollbackEnd foundRBEnd, long foundLSN)
          A new RollbackEnd has been seen.
(package private)  boolean makeNestedPeriod(RollbackStart foundRBStart, long foundLSN)
          A new RollbackStart has been seen.
(package private)  boolean notInRollbackStartAndEnd(long lsn, long txnId)
          There should not be any txnal LNs between a rollback start and rollback end log entry.
(package private)  void positionChildren(long lsn)
           
(package private)  boolean precedes(long lsn)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RollbackTracker.RollbackPeriod

RollbackTracker.RollbackPeriod(RollbackTracker tracker,
                               RollbackEnd rollbackEnd,
                               long rollbackEndLSN)

RollbackTracker.RollbackPeriod

RollbackTracker.RollbackPeriod(RollbackTracker tracker,
                               RollbackStart rollbackStart,
                               long rollbackStartLSN)

RollbackTracker.RollbackPeriod

RollbackTracker.RollbackPeriod(long matchpointLSN,
                               long rollbackStartLSN,
                               long rollbackEndLSN,
                               long checkpointStart)
Method Detail

makeNestedPeriod

boolean makeNestedPeriod(RollbackEnd foundRBEnd,
                         long foundLSN)
A new RollbackEnd has been seen.

Returns:
true if the RollbackEnd belongs to a period nested within the current period. Return false if the RollbackEnd belongs to new, distinct, different period, and the current period is closed.

makeNestedPeriod

boolean makeNestedPeriod(RollbackStart foundRBStart,
                         long foundLSN)
A new RollbackStart has been seen.

Returns:
true if the RollbackStart belongs to a period nested within the current period, or if it is the current period. Return false if the RollbackStart belongs to new, distinct, different period, and this current period is closed.

getNewPeriodTarget

RollbackTracker.RollbackPeriod getNewPeriodTarget(RollbackEnd foundRBEnd,
                                                  long foundLSN)
Return the period that should own this foundRBEnd. That may be either a nested period, or this period.


getNewPeriodTarget

RollbackTracker.RollbackPeriod getNewPeriodTarget(RollbackStart foundRBStart,
                                                  long foundLSN)
Return the period that should own this foundRBStart. That may be either a nested period, or this period.


getScannerTarget

RollbackTracker.RollbackPeriod getScannerTarget(long lsn)

initChildIter

void initChildIter()

fail

void fail(String errorMessage)

contains

boolean contains(long lsn)
This log entry belongs to this rollback period if it lies between the matchpoint and the RollbackStart. We don't use RollbackEnd, because there may not be a RollbackEnd. Also, by definition, anything whose rollback fate is define by this period must have happened before the RollbackStart.


containsLN

boolean containsLN(long lsn,
                   long txnId)

positionChildren

void positionChildren(long lsn)

findTarget

RollbackTracker.RollbackPeriod findTarget(long lsn,
                                          long txnId)

notInRollbackStartAndEnd

boolean notInRollbackStartAndEnd(long lsn,
                                 long txnId)
There should not be any txnal LNs between a rollback start and rollback end log entry.


bracketFailure

String bracketFailure(long lsn)

follows

boolean follows(long lsn)
Returns:
true if this rollback period is after, and does not contain the lsn.

precedes

boolean precedes(long lsn)
Returns:
true if this rollback period is before, and does not contain the lsn.

getChain

TxnChain getChain(long txnId,
                  long undoLsn,
                  EnvironmentImpl envImpl)

hasRollbackEnd

boolean hasRollbackEnd()

toString

public String toString()
Overrides:
toString in class Object

equals

public boolean equals(Object other)
Overrides:
equals in class Object

beforeCheckpointStart

boolean beforeCheckpointStart()

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright (c) 2004-2012 Oracle. All rights reserved.