package com.sleepycat.je.recovery;
public class RecoveryManager {
/**
* Send trace messages to the java.util.logger. Don't rely on the logger
* alone to conditionalize whether we send this message, we don't even want
* to construct the message if the level is not enabled.
*/
private void traceINDeleteReplay( long nodeId, long logLsn, boolean found, boolean deleted, int index, boolean isDuplicate){
new RecoveryManager_traceINDeleteReplay(this,nodeId,logLsn,found,deleted,index,isDuplicate).execute();
}
protected static void hook555( Level traceLevel, DatabaseImpl db, TreeLocation location, LN lnFromLog, long logLsn, long abortLsn, boolean found, boolean replaced, boolean success) throws DatabaseException {
}
protected void hook578( EnvironmentImpl env) throws DatabaseException {
detailedTraceLevel=Tracer.parseLevel(env,EnvironmentParams.JE_LOGGING_LEVEL_RECOVERY);
original(env);
}
protected void hook579( long nodeId, boolean containsDuplicates, long logLsn, boolean found, boolean deleted, SearchResult result) throws DatabaseException {
traceINDeleteReplay(nodeId,logLsn,found,deleted,result.index,containsDuplicates);
original(nodeId,containsDuplicates,logLsn,found,deleted,result);
}
protected void hook580( DatabaseImpl db, IN inFromLog, long lsn, boolean success, RootUpdater rootUpdater) throws DatabaseException {
trace(detailedTraceLevel,db,TRACE_ROOT_REPLACE,success,inFromLog,lsn,null,true,rootUpdater.getReplaced(),rootUpdater.getInserted(),rootUpdater.getOriginalLsn(),DbLsn.NULL_LSN,-1);
original(db,inFromLog,lsn,success,rootUpdater);
}
protected void hook581( DatabaseImpl db, DIN inFromLog, long lsn, boolean found, boolean inserted, boolean replaced, long origLsn, IN parent, int index, boolean success) throws DatabaseException {
trace(detailedTraceLevel,db,TRACE_DUP_ROOT_REPLACE,success,inFromLog,lsn,parent,found,replaced,inserted,origLsn,DbLsn.NULL_LSN,index);
original(db,inFromLog,lsn,found,inserted,replaced,origLsn,parent,index,success);
}
protected void hook582( DatabaseImpl db, IN inFromLog, long logLsn, boolean inserted, boolean replaced, long origLsn, boolean success, SearchResult result) throws DatabaseException {
trace(detailedTraceLevel,db,TRACE_IN_REPLACE,success,inFromLog,logLsn,result.parent,result.exactParentFound,replaced,inserted,origLsn,DbLsn.NULL_LSN,result.index);
original(db,inFromLog,logLsn,inserted,replaced,origLsn,success,result);
}
protected void hook583( DatabaseImpl db, TreeLocation location, LN lnFromLog, long logLsn, boolean found, boolean replaced, boolean inserted, boolean success) throws DatabaseException {
trace(detailedTraceLevel,db,TRACE_LN_REDO,success,lnFromLog,logLsn,location.bin,found,replaced,inserted,location.childLsn,DbLsn.NULL_LSN,location.index);
original(db,location,lnFromLog,logLsn,found,replaced,inserted,success);
}
protected static void hook584( Level traceLevel, DatabaseImpl db, TreeLocation location, LN lnFromLog, byte[] mainKey, byte[] dupKey, long logLsn, long abortLsn, boolean abortKnownDeleted, RecoveryInfo info, boolean splitsAllowed, boolean found, boolean replaced, boolean success) throws DatabaseException {
try {
original(traceLevel,db,location,lnFromLog,mainKey,dupKey,logLsn,abortLsn,abortKnownDeleted,info,splitsAllowed,found,replaced,success);
}
finally {
hook555(traceLevel,db,location,lnFromLog,logLsn,abortLsn,found,replaced,success);
}
}
@MethodObject static class RecoveryManager_traceINDeleteReplay {
RecoveryManager_traceINDeleteReplay( RecoveryManager _this, long nodeId, long logLsn, boolean found, boolean deleted, int index, boolean isDuplicate){
this._this=_this;
this.nodeId=nodeId;
this.logLsn=logLsn;
this.found=found;
this.deleted=deleted;
this.index=index;
this.isDuplicate=isDuplicate;
}
void execute(){
}
protected RecoveryManager _this;
protected long nodeId;
protected long logLsn;
protected boolean found;
protected boolean deleted;
protected int index;
protected boolean isDuplicate;
protected Logger logger;
protected StringBuffer sb;
}
}