Last modified: 2014-04-25 11:53:29 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 T66364, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 64364 - B/C classes are missing for LBFactory_* (eg. LBFactory_Multi => LBFactoryMulti)
B/C classes are missing for LBFactory_* (eg. LBFactory_Multi => LBFactoryMulti)
Status: NEW
Product: MediaWiki
Classification: Unclassified
Database (Other open bugs)
1.24rc
All All
: Normal normal (vote)
: ---
Assigned To: Nobody - You can work on this!
: code-update-regression
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-04-24 14:41 UTC by Liangent
Modified: 2014-04-25 11:53 UTC (History)
3 users (show)

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


Attachments

Description Liangent 2014-04-24 14:41:38 UTC
Got an error just now after MediaWiki upgrade.
Comment 1 Liangent 2014-04-24 14:49:03 UTC
This is caused by 210edff11b37ebb5b1439a2a1eb454cbac21565e
Comment 2 Andre Klapper 2014-04-24 17:18:18 UTC
(In reply to Liangent from comment #1)
> This is caused by 210edff11b37ebb5b1439a2a1eb454cbac21565e

CC'ing author and reviewer of that patch
Comment 3 Siebrand Mazeland 2014-04-24 17:25:19 UTC
(In reply to Liangent from comment #0)
> Got an error just now after MediaWiki upgrade.

What error did you get with which configuration? We thought we'd covered B/C (and AFAIK it ran successfully on Wikimedia wikis).
Comment 4 Liangent 2014-04-24 17:51:35 UTC
(In reply to Siebrand Mazeland from comment #3)
> (In reply to Liangent from comment #0)
> > Got an error just now after MediaWiki upgrade.
> 
> What error did you get with which configuration? We thought we'd covered B/C
> (and AFAIK it ran successfully on Wikimedia wikis).

I have a class LBFactory_Foo extends LBFactory_Multi, and LBFactory_Foo is used in configurations instead of LBFactory_Multi...

IIRC we've used some thing like class LBFactory_Multi extends LBFactoryMulti {} for B/C classes somewhere. Is this method deprecated?
Comment 5 Siebrand Mazeland 2014-04-24 18:25:25 UTC
(In reply to Liangent from comment #4)
> I have a class LBFactory_Foo extends LBFactory_Multi, and LBFactory_Foo is
> used in configurations instead of LBFactory_Multi...
> 
> IIRC we've used some thing like class LBFactory_Multi extends LBFactoryMulti
> {} for B/C classes somewhere. Is this method deprecated?

We took care of B/C for configuration and extensions overriding load balancer classes that were in Gerrit. It's noted in the release notes that the classes were renamed. We didn't take care of custom code not in Gerrit repos.

So should we fix or wontfix?
Comment 6 Liangent 2014-04-24 18:38:45 UTC
Hmm hard to tell whether my code is "configuration" or "extension" :/ I'm running MediaWiki on ToolLab-replicated database, and the following is my code snippet. I can't remember the exact reason that these lines are needed, but I believe that it's due to some inflexibility in "normal" configurations...

<?php

class LBFactory_Labs extends LBFactoryMulti {
        # To use a customized LoadBalancer class
        function newLoadBalancer( $template, $loads, $groupLoads ) {
                global $wgMasterWaitTimeout;
                $servers = $this->makeServerArray( $template, $loads, $groupLoads );
                $lb = new LoadBalancerLabs( array(
                        'servers' => $servers,
                        'masterWaitTimeout' => $wgMasterWaitTimeout
                ));
                return $lb;
        }
}

class LoadBalancerLabs extends LoadBalancer {
        # Ignore $dbNameOverride. dbnames are already specified per server
        function reallyOpenConnection( $server, $dbNameOverride = false ) {
                return parent::reallyOpenConnection( $server );
        }
}

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


Navigation
Links