Reporter Database becomes corrupted whenever the Reporter instance crashes or makes an uncontrolled exit


Article ID: 167634


Updated On:




Reporter Database becomes corrupted whenever the Reporter instance crashes or makes an uncontrolled exit (operating system kills the process, server power loss, etc.).

Whenever an instance of Reporter crashes, all databases that have processed any log data since Reporter was last shutdown or the database was unloaded will become corrupt in that they will have missing and inaccurate data.  It is also possible under such circumstances for the database to become unstable, leading to further crashes in the future. 

Whenever Reporter processes log data, there is always part of the data that will not be saved to disk until either the Reporter instance is shutdown or the database is unloaded.  This will include log lines that are cached in the Page View Combiner waiting to be processes, log hour data that has been processed but not flushed to disk (.cnt, .dct, .main, .bag files), and column data value tables that have not been flushed to disk (.set files). 

This situation guarantees that if a Reporter instance is restarted after a crash, it will be missing some log data (up to two days worth of hourly/daily counter files), and also brings about a situation where some data that is saved will then show up with incorrect text values because of missing column data value data ( the ".set" files).  You can get a situation where a particular ID# has been assigned, for example, to a particular domain name, but not saved before the crash. 

As further data is then processed, the Reporter database will assign a new domain name to that same ID#, resulting in completely inaccurate information, for example, about which domains were visited when by who.  There is no way to detect or recover from this situation following an uncontrolled exit of the Reporter process.  Because different parts of the database may be saved at different points, attempting to reprocess the missing log data will result in duplicate data and the only way to make sure that Reporter has all of the log data and that the data is stored accurately is to delete all active databases and rebuild them from the original log data.