ThreadBoard ArchivesSite FeaturesActiveworlds SupportHistoric Archives |
Alphaworld Data Corruption (Community)
Alphaworld Data Corruption // Communitysw comitJun 22, 2004, 4:45pm
Ugh... Remember when AW was down? Well, before they brought it back online
they did a database rebuild. In doing so, some cells were corrupted. I recieved a telegram from someone who found cells of open land dotted throughout my land. She too also had some holes in her land, and I found another hole in an old developed area of town. Fortunantly so far all the holes have been just land cover, but ugh at if a developed cell was corrupt. Better start looking around at your primary builds.... ferruccioJun 22, 2004, 7:34pm
Should this not be happening if all they did was swap a motherboard? :P
jermeJun 22, 2004, 10:36pm
To answer your question... If the motherboard was bad, it may have
corrupted the data on the hard disks, who knows... If the world server was not shutdown properly or the machine crashed (hung), the database could also be corrupted. Here's my opinion: I belive this problem as a whole (database corruption) stems from the specific database that the aw server uses. The world server has the "CTree" database built in and simply uses API calls to interface with the database. When I was tying to track down the source of the linux world server hang (when Roland was still around and well before he left, if that says anything about how old that bug is), he and I considered the idea of a corrupt cell database (this could technically apply to any of the databases, attributes, elev, and eject included). This is a direct quote from an e-mail Roland sent me: "Unfortunately, there is no easy way to detect file corruption. We use a third party database toolkit and all it presents is a series of API calls [He's refering to CTree and it's API as I mentioned earlier -J] for accessing the data. There is no "find corrupted data" call or anything like that. But doing a propdump/propload like I descirbed is guaranteed to remove any corruption since it wipes the database and starts over." So, as Roland described... The only way to remove corruption is to run the following commands (in linux). propdump -s > propdump.txt propload < propdump.txt This dumps the cell database to a flat file, and then reloads it into the database from the flat file. The problem is that the propdump/propload programs won't detect any corruption. I'm not sure if the API calls don't return any sort of error message when they run into corruption in the database, or if the aw server just ignors errors returned by the API calls. Either way, it just seems the errors/corruption is quietly ignored. Which leaves you wondering if there was any corruption, and if so where it was. This is only an example of yet *another* fundamental problem with the activeworlds server. I have come to believe that the world server (and CTree itself) wasn't designed in anticipation of handeling the huge databases that we throw at it (157,992,189 records/objects in AlphaWorld and counting), or furthermore the high user loads. Any database of this size needs to be handled by a more serious database engine (MySQL anyone?). And what's more is that a database engine (such as MySQL) already has programs to detect (and repair, imagine that!) corrupt tables. MySQL integration would mean no more guessing at corruption, or suffering in the aftermath. MySQL is much easier to backup, and replicate (a live backup server). If that's not enough to convince you, ther are multitues of progams to help manage the databases (MySQL built in utilities and stuff like phpMyAdmin)... so that's half the work already done for AW! Once again, the world server simply needs to use API calls to interface with MySQL, and we can use the existing tools to dump/load/backup/repair the tables. I could go on and on about other advantages too... Like, advanced user and rights/permissions management. Bots can directly connect to the SQL server and manipulate the databases, without going though the aw server, which simplifys the SDK. It allows a direct interface to the live database (from a webpage via php, or other program) to do large operations. Whereas currectly you have to take a propdump, use a program to modify it, and then load the new file. So.. umm, what are we waiting for? -Jeremy So, what are we waiting for? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Jeremy Booker - Owner / Webmaster JTech Web Systems www.JTechWebSystems.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "Therefore do not worry about tomorrow, for tomorrow will worry about itself. Each day has enough trouble of its own." -Mathew 5:34 [View Quote] jermeJun 23, 2004, 11:02am
yea, sorry.. i know that was a little long....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Jeremy Booker - Owner / Webmaster JTech Web Systems www.JTechWebSystems.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "Therefore do not worry about tomorrow, for tomorrow will worry about itself. Each day has enough trouble of its own." -Mathew 5:34 [View Quote] c pJun 23, 2004, 12:38pm
*puts a check mark on my summer reading list*
ok now that iv read that, I agree entirely, but the main problem right now is aw is working on cosmetic enhancements, in order to catch up with other programs, there are various structural updates, but they are usually few in number. We might be able to expect them by 4.0? but that's something we'll have to wait on [View Quote] |