com.sleepycat.je.rep
Class InsufficientLogException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by com.sleepycat.je.DatabaseException
                  extended by com.sleepycat.je.RunRecoveryException
                      extended by com.sleepycat.je.EnvironmentFailureException
                          extended by com.sleepycat.je.rep.RestartRequiredException
                              extended by com.sleepycat.je.rep.InsufficientLogException
All Implemented Interfaces:
Serializable

public class InsufficientLogException
extends RestartRequiredException

This exception indicates that the log files constituting the Environment are insufficient and cannot be used as the basis for continuing with the replication stream provided by the current master.

This exception is typically thrown by the ReplicatedEnvironment constructor when a node has been down for a long period of time and is being started up again. It may also be thrown when a brand new node attempts to become a member of the group and it does not have a sufficiently current set of log files. If the group experiences sustained network connectivity problems, this exception may also be thrown by an active Replica that has been unable to stay in touch with the members of its group for an extended period of time.

In the typical case, application handles the exception by invoking NetworkRestore.execute(com.sleepycat.je.rep.InsufficientLogException, com.sleepycat.je.rep.NetworkRestoreConfig) to obtain the log files it needs from one of the members of the replication group. After the log files are obtained, the node recreates its environment handle and resumes participation as an active member of the group.

See Also:
NetworkRestore, Serialized Form

Constructor Summary
InsufficientLogException(InsufficientLogException cause)
           
InsufficientLogException(RepNode repNode, VLSN refreshVLSN, Set<ReplicationNode> hashSet)
           
 
Method Summary
 Set<ReplicationNode> getLogProviders()
          Returns the members of the replication group that can serve as candidate log providers to supply the logs needed by this node.
 VLSN getRefreshVLSN()
           
 RepNode getRepNode()
           
 EnvironmentFailureException wrapSelf(String msg)
          For internal use only.
 
Methods inherited from class com.sleepycat.je.EnvironmentFailureException
getMessage, getReason, makeJavaErrorWrapper, promote, setAlreadyThrown, unexpectedException, unexpectedException, unexpectedException, unexpectedException, unexpectedState, unexpectedState, unexpectedState, unexpectedState
 
Methods inherited from class com.sleepycat.je.DatabaseException
addErrorMessage, getVersionHeader
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InsufficientLogException

public InsufficientLogException(RepNode repNode,
                                VLSN refreshVLSN,
                                Set<ReplicationNode> hashSet)

InsufficientLogException

public InsufficientLogException(InsufficientLogException cause)
Method Detail

wrapSelf

public EnvironmentFailureException wrapSelf(String msg)
For internal use only.

Specified by:
wrapSelf in class RestartRequiredException

getRefreshVLSN

public VLSN getRefreshVLSN()
Returns:
the VLSN identifying the amount of log information required.

getLogProviders

public Set<ReplicationNode> getLogProviders()
Returns the members of the replication group that can serve as candidate log providers to supply the logs needed by this node.

Returns:
a list of members that can provide logs

getRepNode

public RepNode getRepNode()


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