Thank god that's over!



So we're back, with no loss of time on the site (no r-word), as promised.



You may have already read the explanation of what happened on our downtime message, but if you missed it (or want to know more), I'll go ahead and explain it here.



For the past few months, one of our biggest threats to stability has been that our database file is gradually becoming corrupted (think of someone pulling files out of a filing cabinet and tossing them all over the floor). We're currently talking to MySQL, the people who make our database, and trying to determine if this is a problem in our usage, or (more likely) a bug in the database program itself, in which case we will help them track it down and fix it.



The temporary solution to this is a complex procedure where we dump the database completely and "re-import" it, creating a totally new database file free of any corruption. There is a way we can do this transparently, with only minimal downtime. The procedure takes about a day.



Unfortunately, we were too late - the site crashed while we were in the middle of dumping the database. Both copies of the database were so corrupt that they would crash immediately upon being loaded.



Our first choice, after realizing that we had this problem, was to restore from a backup made earlier that day, and then "replay" all of the events on Subeta that had happened that day (from about 10:30 am that morning until 7:45 pm when the site crashed). This is possible because the database logs all changes, and we can use those logs to replay events.



However, this method of recovery proved ineffectual - replaying yesterday's events against the backup merely brought the database to the same corrupt state that it was in before.



So we had no other choice but to go ahead and finish dumping and reimporting data (from the backup made yesterday morning). Once that completed (around 1:15 this afternoon), we began replaying yesterday's events, until the site caught up completely, and we had a copy of the database free of corruption.



There are upsides, however. Dumping and reimporting the database optimizes it (it shrank by about 66% as a result). An optimized database is a faster database.



So yeah, that's the whole story. We're working with MySQL to fix the corruption issue, and if that is taking too long or not turning out the way we want it to, we are going to look into alternative database systems. One way or another, we'll find a solution to the problem.



--Alex
User Avatar: 3

Posted by alx

Glad to see the site up and running (after seeing just how addicted I'd become in its absence... XD...)

Thanks for keeping us informed and updating during the downtime so we know what's going on... We appreciate being in the loop!!
User not found:
what did you do when it was down?
Wow, the database was that bad o_O And like everyone else is saying, thanks for keeping us updated and for all the hard work <3
Thanks for working so hard to get Subeta back online <img src="http://images.subeta.net/smilies/6398_emoticon_smile.gif" border="0" /> feels back at home
Thank you for all your hard work!
man was i bored when the site was down. So glad its up again. Yah guys rock.
When you say replaying yesterdays events, almost sounds time travelish hehe. Excellent job!!!
User not found:
im so glad it's back, thanks for the hard work, and telling your subeta citizens whats up <img src="http://images.subeta.net/smilies/6398_emoticon_smile.gif" border="0" />
I'm so glad Subeta is back! I can't imagine how taxing it must have been to go through all that work for the site, but it's fantastic to have such dedication going into the work. Thank you so much!
User not found:
all you staffers who worked on this are fantastic, thank-you so much! <img src="http://images.subeta.net/smilies/6398_emoticon_heart.gif" border="0" />
Tough day for you... but thanks so much for your hard work. It sounds like it paid for it self in system stability. Way to go.
Thank you for the explanation Alex, and it was beautifully exlained as always.

And I think me and the rest of the users are certainly noticing how much better the site is running now.

We really do appreciate your hard work squishes
Thanks for explaining. You guys rock! <img src="http://images.subeta.net/smilies/6398_emoticon_smile.gif" border="0" />
thanks for keeping us in the know. <img src="http://images.subeta.net/smilies/6398_emoticon_smile.gif" border="0" />
Thank you for your hard work and keeping us all updated!
Alex, I am thankful for what you and the rest do for this site. Didn't realize how addicted I was to this place lmol.
Well thank goodness for back up stuff..
The dedication around here is awesome and usually hard to come by on site like this.
You guys are great, keep it up!
^^
Thank you for keeping us up to date on everything.All who worked on this has are thanks and appreciation for there hard work
Thanks for the hard work ♥
Thanks for all the work and keeping us updated Alex. <img src="http://images.subeta.net/smilies/6398_emoticon_heart.gif" border="0" />
Pat
Hey were behind ya 100 percent!
User not found:
Keep working, dude, you're awesome
i am just glad the site is up...thanks
thanks for taking the time to explain it to us ♥
Thanks for all the info alx. It's nice to know what is going on (:
Thank you for working so hard for us, Alex, and telling us all whats been going on. <img src="http://images.subeta.net/smilies/6398_emoticon_happy.gif" border="0" /> AND NO R-WORD! HUZZAH~! <img src="http://images.subeta.net/smilies/6398_emoticon_heart.gif" border="0" />
Thank you Alex. I am liking this way of keeping us in the loop. <img src="http://images.subeta.net/smilies/6398_emoticon_smile.gif" border="0" />
Thank you for the explanation. <img src="http://images.subeta.net/smilies/6398_emoticon_smile.gif" border="0" /> We appreciate your hard work for the site!
Thanks for taking the time to do all this! I'm alright with downtime, so long as things are done effectively, which it sounds like they were. So, thanks for all your hard work <img src="http://images.subeta.net/smilies/6398_emoticon_grin.gif" border="0" />.
thanks so much for keeping us updated!!! <img src="http://images.subeta.net/smilies/6398_emoticon_heart.gif" border="0" />
User not found:
Thank you, Alex. You all work so hard for us! ♥
User not found:
Thanks for making sure there was no rollback! <img src="http://images.subeta.net/smilies/6398_emoticon_happy.gif" border="0" />
And for the detailed explanation.
I lub you thank you so much for your commitment and hard work.
Thanks for the info and hard work =D

Leave Comment

Comments are currently on a short cache, meaning your comment may take a few minutes to show up after you post it.