/srv/irclogs.ubuntu.com/2015/02/09/#launchpad-dev.txt

cjwatsonrpadovani: Heh, I wondered when somebody would notice.  Not quite ready to give a timeline yet but we're working pretty hard on it09:42
rpadovani\o/09:49
cjwatsonwgrant: For the AccessArtifact index changes, is there a reasonable way to test performance?  Maybe timings on dogfood?12:15
cjwatson(And is it possible to test this kind of schema change in something transaction-like, so that I'm not actually mutating the live schema?)12:15
wgrantcjwatson: Sure, postgres DDL is fully transactional.12:19
wgrantI've realised that my NOT VALID suggestion won't work directly, though, since the lock reductions got reverted. But we can easily hack the catalog if it's too slow.12:20
cjwatsonSo I just do BEGIN / blah / ROLLBACK?12:21
wgrantDogfood is good for timing, yep12:21
cjwatsonIs DDL timing within a transaction reasonably reliable?  I mean it doesn't just defer most of the work until commit?12:22
wgrantCOMMIT is by necessity instantaneous.12:22
cjwatsonhttp://www.postgresql.org/docs/9.3/static/sql-begin.html has an admonition about statements being executed more quickly inside a transaction12:23
wgrantWell, that's true, it won't fsync before the COMMIT.12:23
wgrant(or do synchronous commit)12:24
wgrantBut the vast majority of the work is done before the COMMIT.12:24
cjwatsonOh, and how would you recommend getting an accurate timing?12:25
wgrant\timing on12:25
cjwatsonThanks12:25
cjwatsonwgrant: Timings in the MP now12:30
cjwatsonhttps://dev.launchpad.net/PolicyAndProcess/DatabaseSchemaChangesProcess suggests that 1.5 seconds may be tolerable?12:32
wgrantI guess AccessArtifact is only private stuff, so if it's hot it should be easy.12:32
wgrantWe need to ensure it's hot beforehand, though; wildcherry is crap.12:33
cjwatson224143 rows on DF12:33
wgrantThat could well be fine. They're narrower rows than I'd remembered.12:34
wgrantcjwatson: Speaking of which, when is your meeting preference this week?12:34
cjwatson8MB12:34
cjwatson(table size)12:35
wgrantYeah, the rows are basic two ints + header each.12:35
cjwatsonwgrant: Either day is workable, but I think Tuesday as in the calendar is best.12:35
wgrantSounds good.12:35
wgrantEasier than working out how to move an event in Google Calendar.12:35
cjwatson:-)12:36
cjwatsonI think the only unaddressed bit of the db-git review is the flag/shortcut question.  If the enum approach sounds workable I can try implementing that today.12:36
wgrantI knew there was something I was missing, yeah.12:37
wgrantWe probably want two separate flags to make the unique constraints and queries more sensible.12:37
wgrantThough an enum wouldn't be terrible, I'm not sure it's worth it.12:37
cjwatsonSo owner_official boolean NOT NULL, official boolean NOT NULL, CONSTRAINT blah CHECK (NOT owner_official OR NOT official); owner_official true implies lp:~cjwatson/launchpad, official true implies lp:launchpad, both false implies unofficial repo12:40
cjwatson(or s/official/preferred/g or s/official/default/g, something like that)12:40
wgrantYep, exactly.12:40
wgrantThen the unique indices and queries are trivial.12:40
cjwatsonGets rid of a lot of duplication in the GitShortcut definition, certainly.12:41
cjwatsonMight need a little bit of care in personmerge.12:42
wgrantYeah, but branches are already handled specially anyway due to name conflicts.12:42
wgrantI'd assume that the default flags get unset upon move.12:42
cjwatsonIf there's a conflict, at least, eys.12:42
cjwatson*yes12:42
wgranttarget_default has to be unset regardless, but owner_default could stay if it doesn't conflict, yeah.12:43
cjwatsonWhy does target_default have to be unset if there's no conflict?12:43
cjwatsonJust changing the owner around shouldn't matter for that.12:44
wgrantI guess if it's just the owner changing, true.12:44
cjwatsontarget_default probably ought to be unset if you're changing the target, granted.12:44
wgrantYeah, you're right, I'd forgotten that changing the user counted as a move.12:45
cjwatsonI think  owner_default OR NOT target_default  would make a better constraint, actually.13:00
cjwatsonWe don't want to have launchpad-pqm be the owner of launchpad and to have lp:~launchpad-pqm/launchpad != lp:launchpad.13:01
cjwatsonSo if target_default is true then owner_default must also be true, to avoid silliness.13:02
wgrantYeah, indeed.13:12
wgrantcjwatson: You have enough to go on now?13:12
wgrantThe only niggle I have with the model now is the owner == target duplication, but I don't think we can sensibly avoid it completely.13:13
cjwatsonI think so.  I'm not sure how to avoid that either, I've been going back and forward on None vs. IPerson.13:15
cjwatsontarget=None is more Branch-like, and the root of why it's coming up now is that I've simplified away the various places where we pass separate project and sourcepackage arguments there to a single target.13:17
cjwatsonShould I introduce IGitTarget?  That's the one major piece of the Branch* cluster that I was able to omit, but if I introduced that then I could pass a non-None target for personal repositories.13:18
wgrantYeah13:18
cjwatsonBut the downside there is that it makes the webservice implementation less obvious.13:18
wgrantWhat would the non-None target be?13:18
cjwatsonPersonalGitTarget(owner=foo)13:18
wgrantAh13:18
cjwatsonOr whatever13:18
wgrantBut yeah, that makes the webservice impossible.13:18
wgrantSimplifying everything to take a single abstract target= is definitely the right way to go. I took Bugs most of the way in 2012, and it worked fine.13:19
cjwatsonWe'd have to go back to project= distro_source_package=, or else export IGitTarget on the webservice.  Neither is very palatable.13:19
wgrantBut personal bugs aren't a thing.13:19
cjwatsonSo I think target=owner for those is the least bad alternative.13:19
wgrantI agree.13:19
wgrantOh, it's IS meeting week. I'd best sleep.13:30
cjwatsonnight13:30
rpadovanicjwatson, o/ Do you have ever thougth to apply Launchpad to Google Summer of Code? :-)19:59
cjwatsonrpadovani: I've only been full-time on LP for a month, give me a chance :-)20:21
cjwatsonI don't know that kind of history20:22
jelmerIIRC there was one year in which we had joint Bazaar/Launchpad participation in the SoC22:29
wgrantI don't recall Launchpad ever doing it, but Bazaar may have.22:38
jelmerwgrant: Yeah, you're right22:44
jelmerhttps://developers.google.com/open-source/soc/2007/#bzr22:44
jelmerI think what I must be remembering is that Bazaar once participated under the umbrella of Ubuntu22:44
wgrantAh yes, that sounds plausible.22:51

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!