Last modified: 2011-11-13 20:38:50 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T34377, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 32377 - ConfirmAccount with 1.18svn: User::createNew“ ... „1054: Unknown column 'user_options' in 'field list'
ConfirmAccount with 1.18svn: User::createNew“ ... „1054: Unknown column 'use...
Status: RESOLVED INVALID
Product: MediaWiki
Classification: Unclassified
Database (Other open bugs)
1.18.x
All All
: Low normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-12 13:22 UTC by Gregor Hagedorn
Modified: 2011-11-13 20:38 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Gregor Hagedorn 2011-11-12 13:22:10 UTC
Confirm Account works for request account and review, but when actually hitting the send button to confirm, it reports:

„User::createNew“. Database error „1054: Unknown column 'user_options' in 'field list' (localhost)“. 

Tested with MediaWiki 1.18.0beta1 (r102635) and confirm user accounts in the following versions:
FROM 1.18: Confirm user accounts (r102635) 
FROM trunk (sic!): Confirm user accounts (r98122)
   (this was working so far, whereas the version distributed with 1.18 itself was not working for several months now)
FROM trunk (sic!): Confirm user accounts (r102861) - newest of today.

The error occurred only after updating mediawiki 1.18alpha (r100281) to 1.18.0beta1 (r102635).
Comment 1 Gregor Hagedorn 2011-11-12 13:48:26 UTC
related to Bug 31204 ?
Comment 2 Aaron Schulz 2011-11-12 22:03:48 UTC
user_options is still part of the 1.18 schema, so createNew() should not give that error unless you upgraded and then downgraded.

Where exactly did you get these MediaWiki versions?
Comment 3 Gregor Hagedorn 2011-11-12 22:13:56 UTC
From SVN, using svn update.

We only updated within the 1.18 branch (1.18alpha r100281 to 1.18.0beta1 r102635 and now back). However, two extensions (Semantic Forms and Confirm Account) had to be used from trunk because the 1.18 versions don't work. These worked fine with r98122, but in fact these were accidentally updated to trunk 1.19 r102635 for a brief time and later reverted (only these two extensions, not mediawiki core). Update.php was, however, run while Confirm Account was in r102635.

Documented: http://biowikifarm.net/meta/Software_Maintenance#2011-11-12 and before.

Your comment implies that this means something bad - can you suggest a way to return this to working? Update.php was run after restoring the correct versions.
Comment 4 Aaron Schulz 2011-11-12 22:27:40 UTC
You must have run the trunk/ update.php or something. I don't see how else user_options could have been removed otherwise.

You will have to run "ALTER TABLE /* prefix */user ADD COLUMN user_options BLOB NOT NULL;" manually. Running 1.18 update.php will not reverse the changes later MediaWiki versions made.

Just to be clear, by "branch" you mean /mediawiki/branches/REL1_18/, right?
Comment 5 Gregor Hagedorn 2011-11-12 22:52:22 UTC
Many thanks for the help! Manually adding the field back did work.
 
> Just to be clear, by "branch" you mean /mediawiki/branches/REL1_18/, right?

yes. And phase3 was never in 1.19 for these wikis.

HOWEVER: we ARE running a wiki under 1.19svn for testing purposes and we use shared user tables. Update.php was executed for this testwiki. Could it be that 1.19 update.php modifies the shared user table in a different wiki, even though this wiki is in 1.18?

If yes: would that be unavoidable, or should the code test if shared tables are not native? That is: should I write a bug report on this?
Comment 6 Gregor Hagedorn 2011-11-12 22:58:43 UTC
Since the situation means that in the future it will be impossible for a wikifarm with a shared user base to keep some "legacy" wiki on 1.18 or earlier, while updating the central user management wiki to 1.19: would it be possible to remove the dependency from the field "user_options" already in the 1.18 code, before 1.18 is finally released?

It would not matter if many extensions use the old option and compatibility is impossible anyways. However, Confirm Account was the only code element that we use that expected this field to be present, so I think it might be worth it.
Comment 7 Aaron Schulz 2011-11-12 23:10:37 UTC
(In reply to comment #6)
> Since the situation means that in the future it will be impossible for a
> wikifarm with a shared user base to keep some "legacy" wiki on 1.18 or earlier,
> while updating the central user management wiki to 1.19: would it be possible
> to remove the dependency from the field "user_options" already in the 1.18
> code, before 1.18 is finally released?
> 
> It would not matter if many extensions use the old option and compatibility is
> impossible anyways. However, Confirm Account was the only code element that we
> use that expected this field to be present, so I think it might be worth it.

The problem is with the createNew() function in User. The regular "create account" interface (which admins can still usually access with ConfirmAccount and everyone can without the extension) will suffer from the same problem in this case. createNew() always tries to set user_options to "" no matter how it was called (such as by ConfirmAccount).
Comment 8 Gregor Hagedorn 2011-11-12 23:18:50 UTC
> The problem is with the createNew() function in User. 

I understand, it is core, not Confirm Account. Still: should something be done about shared user tables? Should perhaps 1.19 NOT delete the field, even if it no longer uses it?
Comment 9 Mark A. Hershberger 2011-11-13 20:17:24 UTC
(In reply to comment #8)

> I understand, it is core, not Confirm Account. Still: should something be done
> about shared user tables? Should perhaps 1.19 NOT delete the field, even if it
> no longer uses it?

I think Aaron's work on hetdeploy might help you with wiki-farms that use different versions of MW.  But he'd have to point you to the right place. (And I could be totally off base.)
Comment 10 Gregor Hagedorn 2011-11-13 20:38:50 UTC
With respect to Confirm Account this bug is invalid and I close. Thanks for the support! Only the side issue remains: Aaron: if you can comment whether it would be meaningful to either suppress updating shared tables, or let the field survive a few version to support side-by-side use for a few versions. We are not aiming at a big complex, but so far side-by-side versions (we actually use it presently only for testing!) were no problem for us.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links