Last modified: 2011-10-23 09:10:08 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 T32641, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 30641 - GlobalUsage breaks on db- and api-filerepo files in newest 1.19 (last tested with 1.19alpha r97000)
GlobalUsage breaks on db- and api-filerepo files in newest 1.19 (last tested ...
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
GlobalUsage (Other open bugs)
unspecified
All All
: Highest normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-30 21:19 UTC by Gregor Hagedorn
Modified: 2011-10-23 09:10 UTC (History)
3 users (show)

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


Attachments

Description Gregor Hagedorn 2011-08-30 21:19:51 UTC
This bug was not yet present a few days ago. Any call to a file that comes from a global repo results in:


Fatal error: Call to undefined method GlobalUsageQuery::execute() in /usr/share/mediawikistaging/extensions/GlobalUsage/GlobalUsageImagePageHooks.php on line 17

http://biowikifarm.net/test/File:Test-lossless-rotation.JPG
Comment 1 Bryan Tong Minh 2011-08-31 13:50:01 UTC
That is due to the merger of the iwtransclusion branch I think. Mark, can you get somebody who knows about iwtransclusion to look at it? It sounds like a scaptrap for 1.19 deployment on WMF.
Comment 2 Gregor Hagedorn 2011-09-02 20:29:36 UTC
I did update to newest trunk 1.19alpha (r96144) to see whether I can close this bug.

Now, while the version is running, when referring to a file from our shared repo, it crashes. This behaviour is new, it did not occurr with the newest SVN-trunk as of 2011-08-30 21:19:51 UTC.

EXAMPLE:
http://biowikifarm.net/test/File:Test-lossless-rotation.JPG

results in:

-----------------
Notice: Undefined index: DEFAULT in /usr/share/mediawikistaging/phase3/includes/db/LBFactory_Multi.php on line 115

Warning: Invalid argument supplied for foreach() in /usr/share/mediawikistaging/phase3/includes/db/LBFactory_Multi.php on line 194
Internal error
Empty server array given to LoadBalancer
Backtrace:
#0 /usr/share/mediawikistaging/phase3/includes/db/LoadBalancer.php(470): LoadBalancer->getReaderIndex(false, '')
#1 /usr/share/mediawikistaging/phase3/includes/GlobalFunctions.php(3205): LoadBalancer->getConnection(-1, Array, '')
#2 /usr/share/mediawikistaging/phase3/includes/GlobalUsageQuery.php(21): wfGetDB(-1, Array, '')
#3 /usr/share/mediawikistaging/extensions/GlobalUsage/GlobalUsageImagePageHooks.php(15): GlobalUsageQuery->__construct(Object(Title))
#4 /usr/share/mediawikistaging/extensions/GlobalUsage/GlobalUsageImagePageHooks.php(107): GlobalUsageImagePageHooks::getImagePageQuery(Object(Title))
#5 /usr/share/mediawikistaging/extensions/GlobalUsage/GlobalUsageImagePageHooks.php(74): GlobalUsageImagePageHooks::hasResults(Object(ImagePage))
#6 [internal function]: GlobalUsageImagePageHooks::onImagePageShowTOC(Object(ImagePage), Array)
#7 /usr/share/mediawikistaging/phase3/includes/Hooks.php(216): call_user_func_array('GlobalUsageImag...', Array)
#8 /usr/share/mediawikistaging/phase3/includes/GlobalFunctions.php(3630): Hooks::run('ImagePageShowTO...', Array)
#9 /usr/share/mediawikistaging/phase3/includes/ImagePage.php(208): wfRunHooks('ImagePageShowTO...', Array)
#10 /usr/share/mediawikistaging/phase3/includes/ImagePage.php(118): ImagePage->showTOC(true)
#11 /usr/share/mediawikistaging/phase3/includes/Wiki.php(466): ImagePage->view()
#12 /usr/share/mediawikistaging/phase3/includes/Wiki.php(237): MediaWiki->performAction(Object(ImagePage))
#13 /usr/share/mediawikistaging/phase3/includes/Wiki.php(622): MediaWiki->performRequest()
#14 /usr/share/mediawikistaging/phase3/includes/Wiki.php(529): MediaWiki->main()
#15 /usr/share/mediawikistaging/phase3/index.php(58): MediaWiki->run()
#16 {main}
-----------------


Not sure this has something to do with GlobalUsage, it only refers to the variable set up to make GlobalUsage possible. With the following setting of $wgLBFactoryConf  / class 'LBFactory_Multi', GlobalUsage does save into a shared table (although the user interface seems broken).

# Trying to use LoadBalancer, to become able to run Extension:GlobalUsage, based on http://noc.wikimedia.org/conf/highlight.php?file=db.php
$wgLBFactoryConf = array(
'class' => 'LBFactory_Multi',
'sectionsByDB' => array(
 'enwiki' => 's1',
 'ispiwiki' => 's1',
 'k2n_handbook' => 's1',
 'k2n_it' => 's1',
 'k2n_sl' => 's1',
 'k2n_wiki' => 's1',
 'liaswiki' => 's1',
 'malesiana_wiki' => 's1',
 'metawiki' => 's1',
 'nnvmwiki' => 's1',
 'onwiki' => 's1',
 'openmedia' => 's1',
 'orowiki' => 's1',
 'plantnet_terms_en' => 's1',
 'plantnet_terms_fr' => 's1',
 'plantnet_uses_en' => 's1',
 'plantnet_uses_fr' => 's1',
 'plazi_wiki' => 's1',
 'pmedwiki' => 's1',
 'rosawiki' => 's1',
 'specialmedia' => 's1',
 'specieswiki' => 's1',
 'species_fr' => 's1',
 'studienstiftungswiki' => 's1',
 'testwiki' => 's1',
 'testwiki2' => 's1',
 'wbwiki' => 's1',
 'zsm_entomology' => 's1'
),
'sectionLoads' => array('s1' => array('db1' => 100,),),
'serverTemplate' => array(
    'dbname'      => $wgDBname,
    'user'        => $wgDBuser,
    'password'    => $wgDBpassword,
    'type'        => 'mysql',
    'flags'       => DBO_DEFAULT,
    'max lag'     => 30,
    #'max threads' => 350, -- disabled TS
),
'groupLoadsBySection' => array(),
'groupLoadsByDB' => array(),
'hostsByName' => array('db1' => 'localhost',),
'externalLoads' => array(),
'masterTemplateOverrides' => array(),
'externalTemplateOverrides' => array(),
'templateOverridesByCluster' => array(),
'readOnlyBySection' => array( /* s1'      => 'Emergency maintenance in progress', */ ),
);
Comment 3 Gregor Hagedorn 2011-09-09 21:16:06 UTC
Just an update: 1.19 still completely broken in 1.19alpha (r96692)

e.g. http://biowikifarm.net/test/File:Test-lossless-rotation.JPG
Comment 4 Chad H. 2011-09-09 21:23:17 UTC
Comment #2 and the error I see at the link in comment #3 sound like a misconfigured 'sectionLoads'. You should have 'DEFAULT' as one of the sections as far as I know.

Also...I'm not entirely sure why you're using the LoadBalancer. Unless I'm missing something in your above config, all of your DBs are in the same "cluster" and those are all being served via localhost.
Comment 5 Gregor Hagedorn 2011-09-09 22:26:29 UTC
Many thanks for the suggestion! I did add the 'DEFAULT' as in:

'sectionLoads' => array('DEFAULT' => array('db1' => 100,),'s1' => array('db1' => 100,),),

and this indeed changes the bug (in 1.19alpha (r96692)) to something that seems GlobalUsage specific:

Fatal error: Call to undefined method GlobalUsageQuery::execute() in /usr/share/mediawikistaging/extensions/GlobalUsage/GlobalUsageImagePageHooks.php on line 17



(In reply to comment #4)
> Also...I'm not entirely sure why you're using the LoadBalancer. Unless I'm
> missing something in your above config, all of your DBs are in the same
> "cluster" and those are all being served via localhost.

Because of Bug 30571 - GlobalUsage requires a dummy LoadBalancer config. We would prefer without the Dummy-$wgLBFactoryConf, but GlobalUsage would be extremely important to us to get working.
Comment 6 Chad H. 2011-09-09 23:55:54 UTC
(In reply to comment #5)
> Many thanks for the suggestion! I did add the 'DEFAULT' as in:
> 
> 'sectionLoads' => array('DEFAULT' => array('db1' => 100,),'s1' => array('db1'
> => 100,),),
> 
> and this indeed changes the bug (in 1.19alpha (r96692)) to something that seems
> GlobalUsage specific:
> 
> Fatal error: Call to undefined method GlobalUsageQuery::execute() in
> /usr/share/mediawikistaging/extensions/GlobalUsage/GlobalUsageImagePageHooks.php
> on line 17
> 

I really don't see how you could get an undefined method error, I see it clear as day in GlobalUsageQuery[0]. Can you open the file and confirm that the method is indeed there? If it's not, it sounds like you might've gotten an incomplete update--missed a file or two.

[0] http://svn.wikimedia.org/viewvc/mediawiki/trunk/extensions/GlobalUsage/GlobalUsageQuery.php?view=annotate#l108
Comment 7 Gregor Hagedorn 2011-09-10 00:56:44 UTC
Code seems to be intact, same problem after deleting and svn re-checkout.

However, I now found out that the error only happens for images that come from a repository.

http://biowikifarm.net/test/File:273px-Quercus_cerris_folliage.jpg is native and works ok.

http://biowikifarm.net/test/File:Test-lossless-rotation.JPG comes from http://species-id.net/openmedia/File:Test-lossless-rotation.JPG which runs under  1.18alpha (r96692)

http://biowikifarm.net/test/File:Abama-twig.jpg comes from http://commons.wikimedia.org/wiki/File:Abama-twig.jpg which runs 1.17wmf.

Is such an incompatibility between version unavoidable? Until now, it was possible to test the trunk version using the repo in a stable version.
Comment 8 Gregor Hagedorn 2011-10-23 09:10:08 UTC
Closing, problem is gone in newest trunk 1.19alpha (r100522)

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


Navigation
Links