12-16-2014, 05:42 PM
So until this is resolved, I have a new redundancy system in place that is finally tested and working as I originally tried to set it up. It will go into effect with tomorrow’s server reset.
1. A Windows batch file will now be running in a Windows Scheduled Task every 15 minutes to copy the property database files and append “_COPY” to the end of their names.
If the original database files don’t exist (like if this batch file tries to run immediately after a crash and it doesn’t find the original files), the very important thing is that the copied database files will *not* get overwritten with nothing, or deleted.
2. In the event of a server reset (whether from a crash or regular reset), when the property database gets loaded the first time someone enters a building a check is made to see if the NBDE system is unable to create the database from the original files. In other words – if they got deleted it is now smart enough to recognize that nothing loaded. The NBDE system will then go to the database “_COPY” files and instead load the database and building property from them, which will then be saved as the ‘true’ database.
3. The entire process in #2 will get reported to me in the server logs. In addition, there are now a BUNCH of server debug lines that are being written to the log every time the property database is saved.
So after tomorrow around noon, the most you may end up losing is 15 minutes of furniture/work, and the process of restoring the backup database is automated – so we don’t need to wait for me to do it all manually, and then restart the server. While this setup may mostly ‘fix’ the issue, know that it still exists and I do not consider this an acceptable long-term solution.
Please continue to provide any information you can in the event we have one of these crashes again and I confirm here that we had the property database disappear because of it.
1. A Windows batch file will now be running in a Windows Scheduled Task every 15 minutes to copy the property database files and append “_COPY” to the end of their names.
If the original database files don’t exist (like if this batch file tries to run immediately after a crash and it doesn’t find the original files), the very important thing is that the copied database files will *not* get overwritten with nothing, or deleted.
2. In the event of a server reset (whether from a crash or regular reset), when the property database gets loaded the first time someone enters a building a check is made to see if the NBDE system is unable to create the database from the original files. In other words – if they got deleted it is now smart enough to recognize that nothing loaded. The NBDE system will then go to the database “_COPY” files and instead load the database and building property from them, which will then be saved as the ‘true’ database.
3. The entire process in #2 will get reported to me in the server logs. In addition, there are now a BUNCH of server debug lines that are being written to the log every time the property database is saved.
So after tomorrow around noon, the most you may end up losing is 15 minutes of furniture/work, and the process of restoring the backup database is automated – so we don’t need to wait for me to do it all manually, and then restart the server. While this setup may mostly ‘fix’ the issue, know that it still exists and I do not consider this an acceptable long-term solution.
Please continue to provide any information you can in the event we have one of these crashes again and I confirm here that we had the property database disappear because of it.