do not log a degraded reset message if the previous reset was more than a week ago
This commit is contained in:
parent
3356ac27bf
commit
05869a8383
|
@ -418,6 +418,7 @@ ServerKnobs::ServerKnobs(bool randomize, ClientKnobs* clientKnobs) {
|
|||
init( INCOMPATIBLE_PEER_DELAY_BEFORE_LOGGING, 5.0 );
|
||||
init( DEGRADED_RESET_INTERVAL, 24*60*60 ); if ( randomize && BUGGIFY ) DEGRADED_RESET_INTERVAL = 10;
|
||||
init( DEGRADED_WARNING_LIMIT, 1 );
|
||||
init( DEGRADED_WARNING_RESET_DELAY, 7*24*60*60 );
|
||||
|
||||
// Test harness
|
||||
init( WORKER_POLL_DELAY, 1.0 );
|
||||
|
|
|
@ -357,6 +357,7 @@ public:
|
|||
double INCOMPATIBLE_PEER_DELAY_BEFORE_LOGGING;
|
||||
double DEGRADED_RESET_INTERVAL;
|
||||
double DEGRADED_WARNING_LIMIT;
|
||||
double DEGRADED_WARNING_RESET_DELAY;
|
||||
|
||||
// Test harness
|
||||
double WORKER_POLL_DELAY;
|
||||
|
|
|
@ -652,7 +652,7 @@ ACTOR Future<Void> workerServer( Reference<ClusterConnectionFile> connFile, Refe
|
|||
}
|
||||
}
|
||||
|
||||
errorForwarders.add( resetAfter(degraded, SERVER_KNOBS->DEGRADED_RESET_INTERVAL, false, SERVER_KNOBS->DEGRADED_WARNING_LIMIT, "DegradedReset"));
|
||||
errorForwarders.add( resetAfter(degraded, SERVER_KNOBS->DEGRADED_RESET_INTERVAL, false, SERVER_KNOBS->DEGRADED_WARNING_LIMIT, SERVER_KNOBS->DEGRADED_WARNING_RESET_DELAY, "DegradedReset"));
|
||||
errorForwarders.add( loadedPonger( interf.debugPing.getFuture() ) );
|
||||
errorForwarders.add( waitFailureServer( interf.waitFailure.getFuture() ) );
|
||||
errorForwarders.add( monitorServerDBInfo( ccInterface, connFile, locality, dbInfo ) );
|
||||
|
|
|
@ -776,7 +776,7 @@ Future<Void> setAfter( Reference<AsyncVar<T>> var, double time, T val ) {
|
|||
}
|
||||
|
||||
ACTOR template <class T>
|
||||
Future<Void> resetAfter( Reference<AsyncVar<T>> var, double time, T val, int warningLimit = -1, const char* context = NULL ) {
|
||||
Future<Void> resetAfter( Reference<AsyncVar<T>> var, double time, T val, int warningLimit = -1, double warningResetDelay = 0, const char* context = NULL ) {
|
||||
state bool isEqual = var->get() == val;
|
||||
state Future<Void> resetDelay = isEqual ? Never() : delay(time);
|
||||
state int resetCount = 0;
|
||||
|
@ -785,6 +785,9 @@ Future<Void> resetAfter( Reference<AsyncVar<T>> var, double time, T val, int war
|
|||
choose {
|
||||
when( wait( resetDelay ) ) {
|
||||
var->set( val );
|
||||
if(now() - lastReset > warningResetDelay) {
|
||||
resetCount = 0;
|
||||
}
|
||||
resetCount++;
|
||||
if(context && warningLimit >= 0 && resetCount > warningLimit) {
|
||||
TraceEvent(SevWarnAlways, context).detail("ResetCount", resetCount).detail("LastReset", now() - lastReset);
|
||||
|
|
Loading…
Reference in New Issue