Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
It seems like this patch broke running `php tests/parser/parserTests.php` directly? See: https://phabricator.wikimedia.org/T184122 --scott On Sat, Dec 23, 2017 at 4:29 AM, Addshorewrote: > So, the patches that would need to be reverted can be found on wikitech > https://wikitech.wikimedia.org/wiki/User:Addshore/MCR_Revert > > I have also created a patch with a switch wrapping the refactoring > https://gerrit.wikimedia.org/r/#/c/399881/ > > I'm going to continue testing this code on beta over the christmas period > patching any holes that I find as I do. > > On 23 December 2017 at 00:14, Daniel Kinzler > wrote: > >> Am 23.12.2017 um 00:03 schrieb C. Scott Ananian: >> > I think a simple revert would be simplest. Adding a feature flag adds >> new >> > possibilities of overlooked bugs, especially since this is "just" a >> > refactoring and so *in theory* shouldn't be changing anything. >> > >> > Maybe we could just cherry-pick a revert onto the Jan 2 branch, rather >> than >> > revert on master and then un-revert after the branch. >> >> A revert is certainly an option, I tried to keep this as isolated as >> possible. >> Reverting just on the branch would allow us to keep testing on beta >> without >> disruption, and without having to go back and forth con core code, >> causing merge >> conflicts. >> >> But there is another option to consider: Only deploy to testwiki (and >> friends) >> on Jan 2, and not to production wikis. This would give us a week to look >> at this >> in a production-like environment, on top of the time on beta, before it >> really >> goes live. >> >> -- daniel >> >> ___ >> 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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
So, the patches that would need to be reverted can be found on wikitech https://wikitech.wikimedia.org/wiki/User:Addshore/MCR_Revert I have also created a patch with a switch wrapping the refactoring https://gerrit.wikimedia.org/r/#/c/399881/ I'm going to continue testing this code on beta over the christmas period patching any holes that I find as I do. On 23 December 2017 at 00:14, Daniel Kinzlerwrote: > Am 23.12.2017 um 00:03 schrieb C. Scott Ananian: > > I think a simple revert would be simplest. Adding a feature flag adds > new > > possibilities of overlooked bugs, especially since this is "just" a > > refactoring and so *in theory* shouldn't be changing anything. > > > > Maybe we could just cherry-pick a revert onto the Jan 2 branch, rather > than > > revert on master and then un-revert after the branch. > > A revert is certainly an option, I tried to keep this as isolated as > possible. > Reverting just on the branch would allow us to keep testing on beta without > disruption, and without having to go back and forth con core code, causing > merge > conflicts. > > But there is another option to consider: Only deploy to testwiki (and > friends) > on Jan 2, and not to production wikis. This would give us a week to look > at this > in a production-like environment, on top of the time on beta, before it > really > goes live. > > -- daniel > > ___ > 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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
Am 23.12.2017 um 00:03 schrieb C. Scott Ananian: > I think a simple revert would be simplest. Adding a feature flag adds new > possibilities of overlooked bugs, especially since this is "just" a > refactoring and so *in theory* shouldn't be changing anything. > > Maybe we could just cherry-pick a revert onto the Jan 2 branch, rather than > revert on master and then un-revert after the branch. A revert is certainly an option, I tried to keep this as isolated as possible. Reverting just on the branch would allow us to keep testing on beta without disruption, and without having to go back and forth con core code, causing merge conflicts. But there is another option to consider: Only deploy to testwiki (and friends) on Jan 2, and not to production wikis. This would give us a week to look at this in a production-like environment, on top of the time on beta, before it really goes live. -- daniel ___ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
On Dec 22, 2017 3:03 PM, "C. Scott Ananian"wrote: I think a simple revert would be simplest. Adding a feature flag adds new possibilities of overlooked bugs, especially since this is "just" a refactoring and so *in theory* shouldn't be changing anything. Agreed, it's likely to introduce more bugs with a second code path that way... Maybe we could just cherry-pick a revert onto the Jan 2 branch, rather than revert on master and then un-revert after the branch. It shouldn't be interpreted as any comment on code quality or "readiness", just a reflection of the fact that the first deploy after the holiday will inevitable cause *some* breakage, and in our eggnog-induced stupor it would be nice if we could just rule out this refactor as contributing to whatever the breakage turns out to be. (That's why a feature flag doesn't seem helpful to me; it would still be lines of code to comb through. Better either a clean revert or just deploy the thing as is.) +1 -- brion --scott On Fri, Dec 22, 2017 at 2:01 PM, Addshore wrote: > So the plan going forward will be to create a feature flag for the MCR > Revision gutting. > I'll crack on with that this evening. > > If that turns out to be too messy then we can revert the MCR patches for > the next wmf branch. > I'm currently keeping track of this @ > https://wikitech.wikimedia.org/wiki/User:Addshore/MCR_Revert > > On 22 December 2017 at 18:39, Ramsey Isler wrote: > > > Fantastic news! Great work handling this behemoth of a technical > challenge. > > > > On Fri, Dec 22, 2017 at 2:26 AM, Daniel Kinzler < > > daniel.kinz...@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 ___ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
I think a simple revert would be simplest. Adding a feature flag adds new possibilities of overlooked bugs, especially since this is "just" a refactoring and so *in theory* shouldn't be changing anything. Maybe we could just cherry-pick a revert onto the Jan 2 branch, rather than revert on master and then un-revert after the branch. It shouldn't be interpreted as any comment on code quality or "readiness", just a reflection of the fact that the first deploy after the holiday will inevitable cause *some* breakage, and in our eggnog-induced stupor it would be nice if we could just rule out this refactor as contributing to whatever the breakage turns out to be. (That's why a feature flag doesn't seem helpful to me; it would still be lines of code to comb through. Better either a clean revert or just deploy the thing as is.) --scott On Fri, Dec 22, 2017 at 2:01 PM, Addshorewrote: > So the plan going forward will be to create a feature flag for the MCR > Revision gutting. > I'll crack on with that this evening. > > If that turns out to be too messy then we can revert the MCR patches for > the next wmf branch. > I'm currently keeping track of this @ > https://wikitech.wikimedia.org/wiki/User:Addshore/MCR_Revert > > On 22 December 2017 at 18:39, Ramsey Isler wrote: > > > Fantastic news! Great work handling this behemoth of a technical > challenge. > > > > On Fri, Dec 22, 2017 at 2:26 AM, Daniel Kinzler < > > daniel.kinz...@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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
Woohoo! The pieces fall in place... :) -- brion On Dec 22, 2017 2:27 AM, "Daniel Kinzler"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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
Am 22.12.2017 um 17:37 schrieb Chad: > 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? Hi Chad! The ideas was exactly to have this on beta as long as possible - like two (originally three) weeks over christmas. I suppose the problem is "with eyes on it"... > The first deploy after a holiday break is already pretty exciting, and > rolling this out feels like something that could use a dedicated window. So, maybe we could deploy only to testwiki and friends on January 2nd, and only do a full deployment the week after? To be honest, I was not considering such a step for a change that is "just" a refactoring. I was reserving that for the actual schema change we plan for MCR. But perhaps that was a mistake. -- daniel ___ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
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 Ananianwrote: > 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 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.kinz...@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 > ___ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
So the plan going forward will be to create a feature flag for the MCR Revision gutting. I'll crack on with that this evening. If that turns out to be too messy then we can revert the MCR patches for the next wmf branch. I'm currently keeping track of this @ https://wikitech.wikimedia.org/wiki/User:Addshore/MCR_Revert On 22 December 2017 at 18:39, Ramsey Islerwrote: > Fantastic news! Great work handling this behemoth of a technical challenge. > > On Fri, Dec 22, 2017 at 2:26 AM, Daniel Kinzler < > daniel.kinz...@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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
Fantastic news! Great work handling this behemoth of a technical challenge. On Fri, Dec 22, 2017 at 2:26 AM, Daniel Kinzlerwrote: > 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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
+1 too for Chad's concerns, especially knowing that there is still a bug opened that breaks Revision::newFromId()~[1], which is used throughout the EventBus system to create events. That said, really big congrats are in order for the MCR project. It will undoubtedly move Mediawiki and the Wikimedia projects in a good direction and open in up to future use cases that we probably cannot phantom in this point in time! Cheers, Marko [1] https://phabricator.wikimedia.org/T183505 Marko Obrovac, PhD Senior Services Engineer Wikimedia Foundation On 22 December 2017 at 18:13, Subramanya Sastrywrote: > +1 to what Chad said reg deploy and what Toby, Chad & Scott said with > their kudos and appreciation :) -Subbu. > > > > On 12/22/2017 11:00 AM, C. Scott Ananian 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 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.kinz...@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 >>> >>> >> >> > > ___ > 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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
+1 to what Chad said reg deploy and what Toby, Chad & Scott said with their kudos and appreciation :) -Subbu. On 12/22/2017 11:00 AM, C. Scott Ananian 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, Chadwrote: 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.kinz...@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 ___ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
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, Chadwrote: > 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.kinz...@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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
Congratulations Daniel and everyone who worked on this -- it's a big milestone for the structured data and the MediaWiki in general! The post-mortem is an epic read -- another round of thanks to everyone who pitched in. -Toby On Fri, Dec 22, 2017 at 2:26 AM, Daniel Kinzlerwrote: > 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
Re: [Wikitech-l] First step for MCR merged: Deprecate and gut the Revision class
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 Kinzlerwrote: > 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