Alphaworld Data Corruption (Community)

Alphaworld Data Corruption // Community

1  |  

sw comit

Jun 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....

linn

Jun 22, 2004, 4:57pm
yes that happens almost every time :-(



[View Quote]

ferruccio

Jun 22, 2004, 7:34pm
Should this not be happening if all they did was swap a motherboard? :P

jerme

Jun 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]

sw comit

Jun 23, 2004, 7:07am
Phew you really know your stuff, thanks :O

[View Quote]

jerme

Jun 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 p

Jun 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]

1  |  
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn