https://bugzilla.wikimedia.org/show_bug.cgi?id=22923

           Summary: MediaWiki should revert to read-only if MySQL error
                    indicates DB in read-only
           Product: MediaWiki
           Version: 1.14.1
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: Database
        AssignedTo: wikibugs-l@lists.wikimedia.org
        ReportedBy: jus...@gleicher.net


I have a MySQL ecosystem of a Master and a number of slaves, with an ip address
that can be brought up on the master or any of the slaves for High
Availability.

To reduce problems with re-syncing the master from a slave if a failover is
needed (failover=the ip address is brought up on a slave after the master
crashes), all the MySQL slaves are marked as read-only in their configuration
and only after determining that the master MySQL server will be down for an
extended period of time, will a slave be brought up read-write and made the new
master until the primary master is fixed.

MediaWiki does not operate on a read-only slave, and this is an enhancement
request to allow MediaWiki to operate in a read-only MySQL environment.
Currently errors are thrown (usually couldn't update the objectcache), although
some pages do occasionally load).

The error thrown is 1290, and if this could be caught and recognised as a MySQL
read-only server error, MediaWiki could simply throw away any write queries and
make only read queries against the server. Of course, each new page load would
represent a new attempt at writing, since at any time the MySQL server could be
brought up read-write or failed back to the master server.

The error displayed is as follows for one attempt at a page load:

A database query syntax error has occurred. This may indicate a bug in the
software. The last attempted database query was:

    DELETE FROM `objectcache` WHERE
keyname='wiki_staging:pcache:idhash:19674-0!1!0!!en!2'

from within function "MediaWikiBagOStuff::_doquery". MySQL returned error
"1290: The MySQL server is running with the --read-only option so it cannot
execute this statement (mysql-server-name)".

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to