Getting to the bottom of things
One of my customers uses a web-based user query tool to interrogate their data warehouse. For some while the Tomcat component of the system has been, let's say, fragile; it often disappears in a puff of metaphorical smoke with a error log message about running out of memory. That should not happen - we think we have enough memory on the server, it is all allocated to the process. So in time honoured fashion we tell the user base that they must log support calls if their query fails, they must not assume that someone else has logged the fault. So for the last couple of weeks everytime the application fails we get some 20-30 support calls, it does not take too long to find the single person running a query every time the system crashes. We can then find exactly what they are doing... exporting 250,000 rows to a CSV file so that they can load it into Microsoft Access - - ho,hum! Never, ever assume that users do sensible things - this guy had all the data he needed on tap in the database and then he just had to go out and reinvent the data warehouse on his PC.