Posted by Robert G Laurin on February 25, 2004 at 14:34:11:
Recently our Novell server performed an abend just after normal workday hours. I still had about half a dozen users using Comet but the bulk were out of Comet.
When I recovered from the abend, I discovered that there was a LOT of un-written data in my Comet files. I easily detected that by checking a few of our busy files. The last key entries had a key, but no record (Key was pointing beyond the end-of-file). Some files had many of these keys pointing nowhere, which means I lost those records.
What bothered me, was that some of these records had been in the write cache for a long time (over 2 hours by my wild estimates). I know that CometServe flushes all the buffers when the user count hit ZERO, but shouldn't it do so as well when the system is idle, or maybe just once in a while?
We're having abend problems with our backup software, this caused enough headaches without knowing that everytime I lose Comet data.
First of all, is there a "manual" method to force the NLM to flush it's buffers? My server is equiped with a RAID-5 PERC2 controler that will take care of writing everything in case of major crash and/or power fail. My CometServe does not. I don't want to really force Commit all the writes because of the millions of R/W that we have daily.
Can the NLM be instructed to periodicaly flush all the buffers ?
I also notice that trying to run a NETINQ will sometimes cause a Novell Server Abend... I usually use this when I'm trying to get everyone out... bad timing and lots of data corruption.
We're using NLM 3.06 and Comet 2002.320.