Rob, Please use https://phabricator.wikimedia.org/T112637 as the RFC and lets revert the ticket to the original scope.
On Tue, Sep 15, 2015 at 8:00 AM, Rob Lanphier <ro...@wikimedia.org> wrote: > Hi folks, > > Executive summary: > T108255 is the default option for our Wednesday RfC review (E66)[0]. > As part of improving our database use, we need to start gating our > code review on better shared norms of SQL correctness. We need to > enable strict mode, cleanup/enforce primary keys (T17441), and start > using row-based replication (T109179). Let's talk about this on > Wednesday. > > Details: > We're still not 100% decided what our topic for this week's RfC review > meeting will be, but I'm leaning pretty heavily toward T108255. Jaime > Crespo (Jynus) asked me about it last week, which inspired me to turn > T108255 into an RfC. After he cleared up my writeup, I think there's > something for us to talk about. > > In particular, I originally thought this was merely about enabling > MariaDB's strict mode, and all of the rainbows and unicorns that would > result from that. Jaime corrected me, pointing out that there is > other database related cleanup we would need to do to get the benefits > of this. > > So, as of this writing, T108255 by title still appears to be about > merely enabling strict mode. It's tempting to split this ticket into > two tickets: > 1. RfC: Write/enforce SQL correctness guidelines > 2. Enable MariaDB/MySQL's Strict Mode > > I may make a separate ticket tomorrow unless someone convinces me that > kittens will die as a result.[1] > > Regarding SQL correctness guidelines, we have a mess of stuff on > mediawiki.org, which doesn't seem to be very discoverable, and also > doesn't seem to have any teeth to it. We have a modest number of > pages marked as "MediaWiki development policies"[2], but of the 5 > pages that were there, only 1 of them was about specifically about > databases, which is weakly called [[Database optimization]][3]. Since > [[Database optimization]] didn't seem to have gotten the review that > [[Security for developers]] or [[Gerrit/+2]] had, I changed its status > to "{{draft}}" > > We *do* have something that actually looks more policy-like, which is > the "#Database patches" section of the [[Development policy]] page[4] > However, it's not clear that the "Development policy" page gets read, > and has gotten pretty crufty. It's tempting to put "{{draft}}" on > that one too. > > It seems there are a number of sources we could/should be pulling from > to make a database development policy[5] T108255 (or some > database-related RfC) should be about pulling all of these together > into a coherent set of guidelines. These guidelines should be > well-known to frequent committers, and should be well-written for a > beginning developer. > > What we need to actually *do* is not merely enable strict mode, but > also cleanup/enforce primary keys (T17441), and start using row-based > replication (T109179). Before completing all of this, we need our code > review gated on actually making this work. > > The fact that we have a mess of documentation and norms is the reason > why I'm leaning toward this topic for the E66 meeting this week. If > you believe we should talk about this, please participate at T108255 > and help get this as far along as possible so that we can wrap things > up at the E66 meeting, If you believe we should be talking about > something else in our IRC meeting, please say so in E66 on Phab. > > Rob > > [0] IRC meeting: > <https://phabricator.wikimedia.org/E66> > "RfC: Enable MariaDB/MySQL's Strict Mode" > <https://phabricator.wikimedia.org/T108255> > > [1] if someone decides to jfdi, I would recommend using T108255 for > the "Write/enforce SQL correctness guidelines" RfC, and make a new > ticket for the less important "Enable MariaDB/MySQL's Strict Mode". > The comments on the ticket seem to relate more to the former than the > latter, and the subscribers will probably be more interested in the > former. > > [2] > <https://www.mediawiki.org/wiki/Category:MediaWiki_development_policies> > > [3] <https://www.mediawiki.org/wiki/Database_optimization> > > [4] <https://www.mediawiki.org/wiki/Development_policy#Database_patches> > > [5] Other database-related guidance for developers: > <https://www.mediawiki.org/wiki/Performance_guidelines> > <https://www.mediawiki.org/wiki/Manual:Coding_conventions/Database> > <https://www.mediawiki.org/wiki/Architecture_guidelines> > <https://wikitech.wikimedia.org/wiki/Schema_changes> > > _______________________________________________ > Wikitech-l mailing list > Wikitech-l@lists.wikimedia.org > https://lists.wikimedia.org/mailman/listinfo/wikitech-l -- Jaime Crespo <http://wikimedia.org> _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l