QuakeWiki.org ~upgrade~ needs your help

D'oh, I sometimes miss posts here too.

A migration would be great! I think it would not even be much of a loss if people would have to re-register. Anything that makes it functional and maintainable again.

I give up. This has taken too many precious hours already and it is absolutely zero fun to me. MediaWiki has been nothing but unpleasant and a PITA with broken upgrade processes, bad documentation and unhelpful error messages, leaving me ******* frustrated.

Anyone who has got time and motivation to invest some time into this this year and go alone on it? Otherwise I will turn the site into a static archive at the end of the year.

Recent attempts:

Attempt with mariadb

@nitoducci thankfully sent me a SQL dump of the data for MariaDB but even with that and a current version of MediaWiki I got errors. It looks like the database is corrupted?

There was no content but just Error There is currently no text in this page. on some pages. Their histories were working though, both the first and latest revisions loaded fine if loaded directly. Editing did not work because it always said that a blank edit happened during my editing session so that was no way to restore everything.

I tried php maintenance/run.php AttachLatest --regenerate-all --fix and it said Done! Processed 1009 pages. but also spammed countless lines of Warning: Invalid JSON object in comment: [Called from MediaWiki\CommentStore\CommentStore::getCommentInternal .... The sites still did not load.

Googling around was not really helpful. I tried to run php maintenance/run.php migrateActors but just got Error: Undefined constant "DB_MASTER". Running https://www.mediawiki.org/wiki/Manual:FindAnomalies.php gave Error: Undefined constant "DB_SLAVE".

Attempt with XML dump into a new MediaWiki installation

So I made a data dump, installed a fresh MediaWiki 1.44, gave it a mariadb, and tried to import the dump. No chance: Error: Call to a member function getId() on null from from /srv/quakewiki/w/includes/Revision/RevisionStore.php(1850).

So I guess there is something broken with the database integrity and which requires manual fixing. I am sorry but I am not going to go into this.

Is there a dump of the data somewhere that we can use to try the fix locally?

Good idea! Here is a dump of php maintenance/run.php dumpBackup.php --full --include-files --uploads: https://quakewiki.org/static/quakewiki.org_20251101_page-and-filedump.xml.xz

hi! i understand your frustration :frowning: i get it if you’re going to run a static archive, seems like the easier choice.

since i was able to successfully run a fresh mediawiki with the dump i created, i’m willing to run a mediawiki instance if you want me to continue with quakewiki. alternatively, i’m available to connect to quakewiki’s machine and try to get it running on your server.

edit: i’ll try bringing up a quakewiki instance on my server as a proof of concept

1 Like

Yay, @nitoducci will give it a try :slight_smile: Thank you!

1 Like

i had a quick look around and the database is 29 mb… honestly sqlite is fine. there’s no need for mariadb or postgres.

both search and editing already seem to work:

other people have already been using the page, seemingly with no issues: https://quakewiki.org/wiki/Special:Log

there’s some openssl errors (lighttpd issue?) but there isn’t anything wrong with php or sqlite according to the error log.

i’m not sure what needs fixing in the database :sweat_smile: any schema issues would pop up on the error log (or the page itself) when doing, well, anything.

i’m confused, @Spirit , everything looks good?

Oops, well it's been a year of looking at it every once in a while so my memory is foggy. :grimacing:

IIRC the issue with SQLite was not the size or performance, but that some upgrade did not work and the answer was "well, SQLite isn't really a fully supported target for mediawiki". So it would just be a matter of time until it would break again.

Maybe @efess remembers more?

Currently it is not possible to login (I dropped the passwords on purpose at some point) as one does not get any mail. Different issue but if you have more mediawiki knowledge, maybe you can find out where mails get stuck? I looked at debug.log earlier and found nothing. Mail is sent via external SMTP, see LocalSettings.php.

And that search thing definitely worked at some point in the past :grimacing:

That's exactly it, the upgrade process for sqlite is an afterthought by mediawiki and has to be maintained separately from their mariadb upgrade scripts, which causes a bunch of issues that are never addressed since the adoption of sqlite is low.

I do agree sqlite is a fine engine to use, if only the upgrade scripts were reliable.

1 Like