Page MenuHomePhabricator

Make BufferedBagOStuff classes use composition instead of inheritance
Open, MediumPublic

Description

https://integration.wikimedia.org/ci/job/mediawiki-extensions-hhvm/24001/console

This test failure brought theses classes existence to my attention. They claim to implement BagOStuff (a key/value interface that stores things in class/config specific locations) but it actually defers writes. A subclass, LocalBufferedBagOStuff, also has a process-cache layer (with no time bounds) in front of a wrapped BagOStuff, which further diverges from the interface's consistency model. These should use composition instead, being their own interfaces. That would also avoid problems with core changes like https://gerrit.wikimedia.org/r/#/c/214107/ has.

Event Timeline

aaron raised the priority of this task from to Needs Triage.
aaron updated the task description. (Show Details)
aaron added a project: StructuredDiscussions.
aaron subscribed.
Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Catrope renamed this task from Make BufferedBagOStuff classes use composition instead of inheritence to Make BufferedBagOStuff classes use composition instead of inheritance.Jul 22 2015, 11:44 PM
Catrope triaged this task as Medium priority.
Catrope set Security to None.
Catrope added a project: Technical-Debt.