SSAS Crash Dump behavior
In SSAS 2005, when an exception occurs, you will always get a crash dump generated in the log directory of the instance and this could potentially lead to a lot of crash dumps consuming resources and a lot of work for the person who has to analyse the contents of each dump. One of the benefits of this approach is that if a user reported a serious error a quick check of the logs directory was a good indicator that there might be a problem.
In SSAS 2008 this behaviour changes and by default SSAS will generate one unique dump and then suppress all instances of duplicates until the service is restarted although the number of duplicates to be generated can be controlled by <MaxDuplicateDumps>
This is a good enhancement and it reduces the need to analyse a dump to confirm its a duplicate as well as introducing a mechanism to reduce the resource impact of dumps but its not perfect.
The biggest problem i have with this implementation is that there is no logging anywhere that a dump has been supressed.
In an ideal world there would only be one exception occurring in your system at any one time and monitoring would always catch that first exception but this is not an ideal world and IMHO there is no substitute for good logging.
I have raised a connect item to improve the crash dump behaviour and made the suggestions below. If you think the enhancements should be made then vote now.
When duplicate occurs log to event log dump signature, location & filename of last known dump generated, total duplicates to date.
- Introduce a mechanism to reset duplicate dump without restarting service.
- If an exception leads to a service failure a dump should always be generated
- Consider writing a stub to the log directory.