1737
|
|
|
washort |
17 years ago
|
|
|
1736
|
|
|
washort |
17 years ago
|
|
|
1735
|
|
|
washort |
17 years ago
|
|
|
1734
|
|
|
washort |
17 years ago
|
|
|
1733
|
|
|
washort |
17 years ago
|
|
|
1732
|
|
|
washort |
17 years ago
|
|
|
1731
|
|
|
moe |
17 years ago
|
|
|
1730
|
|
|
moe |
17 years ago
|
|
|
1729
|
|
|
moe |
17 years ago
|
|
|
1728
|
|
|
moe |
17 years ago
|
|
|
1727
|
|
|
washort |
17 years ago
|
|
|
1726
|
|
|
moe |
17 years ago
|
|
|
1725
|
|
|
moe |
17 years ago
|
|
|
1724
|
|
|
moe |
17 years ago
|
|
|
1723
|
|
|
washort |
17 years ago
|
|
|
1722
|
|
|
washort |
17 years ago
|
|
|
1721
|
|
Fix buggy MTA upgrader which was blocking joule bounce.
Author: exarkun, glyph
Reviewer: washort
Fixes #1289
Fixes #1296
Fixes #1279
This is a merge of the mta-upgrade-1289 branch.
This change fixes a bug in the {{{MailTransportAgent}}} upgrade code. Although the change to the upgrader itself was straightforward, this uncovered an array of other issues which were fixed so that this upgrader will work and and future upgraders can run more reliably.
In addition to fixing upgrade bugs, a feature was added to axiom:
* Previously it was impossible to retrieve a non-{{{Item}}} result from a {{{powerupsFor}}} call. This is desirable because some interfaces that we might wish to adapt to could be complicated to implement, or require conflicting properties of {{{Item}}}. It was necessary in this case so that {{{SubStore}}} could relay the {{{IService}}}-special-case adapter logic to its {{{SubStore}}} so that {{{SubStore}}}s could be selectively started by powering up.
That feature was added to fix the following bug:
* Installing the Mantissa stats store would erroneously cause every substore's services to be started, via an Axiom feature called {{{SubStoreStartupService}}}. This class has been made non-functional and an upgrader written to remove it, because substore services should generally _not_ be started; on a server with 10,000 users this would result in a startup query of 10,000 items and 10,000 concurrently running services; items which install themselves for {{{IService}}} but are designed for use with both user-stores and the site store would be started both globally and locally on user-stores, which is not desirable. (Although such dual-purpose powerups are probably buggy themselves, at least that bug is harmless; it shouldn't be exacerbated by running services, and it makes upgrading services which shouldn't exist extremely difficult, as seen with this upgrade.)
In the course of fixing the first bug, The following other serious bugs in the upgrading process were discovered and fixed:
* If you delete the referring object in an upgrader which is triggered through a reference (such as a powerup), the value returned from the upgrader will now correctly be relayed back to the code that was accessing the reference.
* If you delete the object being upgraded in an upgrader, it will now correctly be returned as {{{None}}}.
* If you delete a powerup being upgraded in an upgrader, it will be removed from the results of the {{{powerupsFor}}} call which triggered the upgrade (and similarly, adaptations will not work). This provides a consistent interface when a particular revision of code is no longer supposed to be able to perform a particular adaptation.
Several redundant test-cases were removed from the upgrade tests module.
|
glyph |
17 years ago
|
|
|
1720
|
|
|
moe |
17 years ago
|
|
|
1719
|
|
|
exarkun |
17 years ago
|
|
|
1718
|
|
|
moonfallen |
17 years ago
|
|
|