Dont set next_interval to 0.
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 20 Aug 2010 04:54:03 +0000 (14:54 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 20 Aug 2010 05:00:45 +0000 (15:00 +1000)
This can cause ctdbd to spin at 100% in the eventsystem,
creating a timed event that will immediately trigger again
and again.

On uniprocessors this cause the eventscript we are actually waiting for to
basically become cpu starved and never complete.

server/ctdb_monitor.c

index 5cc460899e296d81b15996e00406f35078a83665..7f5da5c3377875d817519f7f50cc2cdc90ea04ab 100644 (file)
@@ -203,7 +203,7 @@ static void ctdb_startup_callback(struct ctdb_context *ctdb, int status, void *p
        } else if (status == 0) {
                DEBUG(DEBUG_NOTICE,("startup event OK - enabling monitoring\n"));
                ctdb->done_startup = true;
-               ctdb->monitor->next_interval = 0;
+               ctdb->monitor->next_interval = 2;
                ctdb_run_notification_script(ctdb, "startup");
        }