Scheduled Downtime for August 8, 1:30pm PDT

If you prefer, you can think of that as 4:30pm EDT, 5:30am JST, or 20:30 UTC. We are budgeting 120 minutes, and we think we’ll need the full window. We’re doing some long-needed database maintenance, and processing all those reviews takes a while.

As usual, we’ll post updates during the maintenance window and let everyone know how it’s going. We’ll also post an update here when it’s all done so you can dive back in and make even more review records for us to store.




You really don’t want us to level up as fast as we can :wink:


As someone who’s fairly technical but has never used a database before, what does “database maintenance” actually entail? Is it a physical, hardware maintenance sort of thing, or more of a software check? If it is software-side, what does that involve?

I know it’s something basically every online service has to do periodically, but I’ve never quite been sure what it was, so I just thought I’d ask out of curiosity


Well, this falls during the time when I usually can’t access WK so it works for me!






Prime reviewing time for me, I guess I should sleep in.

Keep up the good work.


It depends a lot on the database technology used. Older versions of MySQL will suspend all access to a table if you add a new column or an index, for example.

In that scenario, it’s better for website visitors to see a maintenance page instead of the page taking forever to load.

1 Like

Databases are lots of interconnected tables. Sometimes if you want to remove data from a table, you have to delete all the related data in other tables. Depending on the nature of the data, this can take a lots of time, so sometimes it is better to let the unnecessary data accumulate, and clean it all in one batch. Also if a table is changed, (like extra columns or something) new data might be calculated by using tons of other data. To prevent errors you either block users from inserting new data (=downtime), or you spend tons of time to plan complex solutions to avoid problems.


To be precise, that’s 5:30 am on August 9th, JST.


Finally, 90 minutes of my life where I won’t feel bad for procrastinating lessons :eyes:


Nah, the guilt will still follow you :eyes:


Noted. 08-08-2019 20:30 UTC or 09-08-2019 06:30 GMT +8. Or I’ll be able to do WK-ing again on 09-08-2019 08:00 GMT +8. cmiiw.

Edit: Oh wait, 5:30am JST? Should be August 9th, 2019 4:30am GMT +8 then. Always confused converting timezone. :woman_shrugging:

You could still WK with Tsurukame, or another offline app


Hey, when did you become the POLLvenger? Just that was probably enough to take the data-base down.




Ok, that makes sense. So I guess this kind of maintenance would indicate some kind of change in the structure of the database, like adding or removing a column/table? Or would you have to do it periodically just to clear out old data?

“Database maintenance” could refer to any work that requires downtime for the production database (e.g. even stuff like server os update). And in most modern tech companies you don’t have any physical servers, everything’s in the cloud. And actually downtime shouldn’t be required at all as you can run several instances of the db and the app at the same time and switch the traffic from the old to the new one when the update is done.


As in, could be either or both. It all depends on how the WK system was originally designed.

With proper database design, these days periodic downtime for periodic maintenance can usually be avoided: either the periodic maintenance is not necessary at all, or it can be done ‘online’ while the service keeps running. It still happens with some systems, especially complex systems, but WK doesn’t have regular (weekly, monthly, …) downtime to announce, so we’re probably not talking about periodic maintenance here.

Looking into my crystal ball here, and reading oldbonsai’s announcement, I’d say they’re either doing a big overhaul of how the data is stored in the database, or they’re migrating to a newer/different database server, and they’ll need to transfer all of the data to the new place. Since WK stores data about every review anyone here does, that’s a lot of data, and that takes time. If people submit new reviews during that time, they might get lost during the transfer (although there are ways around that). So they’re just going to shut down the service to avoid that, and do it in one big push. And after that, everything will be exactly as it was, but with a faster, shinier database that goes ‘ping’ very time someone complains about having to wait so long for new lessons :smiley:

All guesswork of course, but I’ve spent plenty of time in the trenches dealing with temperamental terabyte-sized databases…