MW seems to be writing rows with up_value='' to the DB for certain toggle prefs. Empty values for these prefs are interpreted very strangely, where certain prefs (notably usebetatoolbar, probably because the default is 1) are considered to be set to 1 for the purposes of deciding to use the feature (i.e. User::getOption()) but 0 for the purposes of the preference form. This means the relevant feature is enabled but can't be disabled in Special:Preferences.
I discovered these values before the Feb 16 deployment, and wrote a script to fix them. But they're now back in larger numbers, so it must be 1.17, not 1.16, corrupting the DB here.
Sample from dewiki:
mysql> SELECT up_property, COUNT(DISTINCT up_user) FROM user_properties WHERE up_value = '' GROUP BY up_property;
+-----------------------+-------------------------+
up_property | COUNT(DISTINCT up_user) |
+-----------------------+-------------------------+
ajaxsearch | 21902 |
contextchars | 32 |
contextlines | 32 |
date | 22457 |
editsection | 299 |
enotifusertalkpages | 1023 |
flaggedrevseditdiffs | 48 |
flaggedrevsstable | 4 |
forceeditsummary | 130 |
highlightbroken | 179 |
imagesize | 5 |
language | 4 |
math | 34 |
nickname | 159014 |
previewontop | 691 |
quickbar | 43 |
rclimit | 53 |
searchNs0 | 277 |
searchlimit | 34 |
showjumplinks | 506 |
showtoc | 188 |
showtoolbar | 382 |
skin | 430086 |
timecorrection | 108414 |
usebetatoolbar | 72 |
usebetatoolbar-cgd | 1332 |
useeditwarning | 306 |
variant | 134463 |
vector-collapsiblenav | 176 |
vector-simplesearch | 20 |
watchcreations | 9732 |
watchlistdays | 5 |
watchlisttoken | 25067 |
wllimit | 4377 |
+-----------------------+-------------------------+
34 rows in set (18.73 sec)
Version: unspecified
Severity: enhancement
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=52542