After re-activating a service that has been deactivated the nodes may not start collecting data. This bug is due to the servicenode table not being repopulated. This table is what controls which nodes monitor a given serviceid.

First check that the the service data is missing from the servicenode table:

SQL> select * from servicenode where serviceid=27702; 

If the data is missing for the re-activated serviceid, repopulate the missing data on the production server.

SQL> insert into servicenode (serviceid,expiredate,interval,nodeid) values (27702,'08-15-2008 00:00:00', 5, 10); 

This should be repeated for each nodeid that is supposed to be monitoring the service.

After the inserts the servicenode table should look something like the following:

SQL> select * from servicenode where serviceid=27702;

 SERVICEID     NODEID EXPIREDATE            INTERVAL
---------- ---------- ------------------- ----------
     27702          2 08-15-2008 00:00:00          5
     27702         10 08-15-2008 00:00:00          5
     27702         32 08-15-2008 00:00:00          5
     27702         33 08-15-2008 00:00:00          5
     27702         38 08-15-2008 00:00:00          5

After all the rows are inserted be sure to commit the changes. SQL> commit;

Next, update the change flag to push the change out to the nodes.

SQL> update servicelist set change=1 where serviceid=27702; 

1 row updated.

SQL> commit;

Commit complete.

Servicenode Missing Data (last edited 2007-12-03 20:56:53 by Eric)