Thanks!
Context for those who don't want to read a couple hundred lines of IRC logs: I was cooped up in the house all day and noticed it was about to get dark, so I really did take a walk (relatively abruptly) after dealing with the worst of the issue. During this walk I thought things over and realized what the explanation for the early symptoms of this bug was, and I explained it to Adam on IRC when I got back.
On Fri, Dec 22, 2017 at 6:00 PM, C. Scott Ananian cananian@wikimedia.org wrote:
Having just read through T183252, I feel Roan deserves a big hand for his "I take a walk and become Sherlock Holmes" detective work and "I'm just like Indiana Jones, except with code not tombs and bugs not snakes" code archaeology.
I love working with smart folks. --scott
On Fri, Dec 22, 2017 at 11:37 AM, Chad innocentkiller@gmail.com wrote:
Considering the code just landed last night and a good number of us are going to be gone for vacation--is rolling this out with the Jan 2nd
deploy
a little aggressive? I'd love to see this sit on beta (with eyes on it)
for
a little longer. Or a way to deploy to testwiki etc independent of major sites?
The first deploy after a holiday break is already pretty exciting, and rolling this out feels like something that could use a dedicated window.
(Otherwise, kudos to the MCR team for hitting this milestone)
-Chad
On Fri, Dec 22, 2017 at 2:27 AM Daniel Kinzler < daniel.kinzler@wikimedia.de> wrote:
Hello all!
Addshore last night merged the patch[1] that is the first major step towards Multi-Content-Revisions[2]: it completely guts the Revision class and turns it into a thin proxy for the new RevisionStore service. The new code is
now
live on beta.
This is our second attempt: The first one, on December 18th, thoroughly corrupted the beta database. It took us some time and a lot of help
from
Aaron and especially Roan to figure out what was happening. A detailed post-mortem by Roan can be found at [3].
Anyway - this stage of MCR development introduces the new
multi-revision
capable interface for revision storage (and blob storage) [4]. It does not yet introduce the new database schema, that will be the next step [5][6]. While doing
the
refactoring, I tried to keep the structure of the existing code mostly intact, just moving functionality out of Revision into the new classes, most importantly RevisionRecord, RevisionStore, and BlobStore.
Beware that with the next deployment (due January 2nd) the live sites
will
start using the new code. Please keep an eye out for any strangeness
regarding
revision handling. Adam greatly improved test coverage of the relevant
code
(thanks Adam!), but it's always possible that we missed some edge case, maybe something about archived revisions that were partially migrated from on
old
schema or something similarly fun.
Exiting times!
Cheers Daniel
[1] https://gerrit.wikimedia.org/r/#/c/399174/ [2] https://www.mediawiki.org/wiki/Requests_for_comment/
Multi-Content_Revisions
[3] https://phabricator.wikimedia.org/T183252#3853749 [4] https://phabricator.wikimedia.org/T174025 [5] https://phabricator.wikimedia.org/T174024 [6] https://phabricator.wikimedia.org/T174030
-- Daniel Kinzler Principal Platform Engineer
Wikimedia Deutschland Gesellschaft zur Förderung Freien Wissens e.V.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
-- (http://cscott.net) _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l