/srv/irclogs.ubuntu.com/2015/06/22/#launchpad-dev.txt

=== anthonyf is now known as Guest70961
lifelesswgrant: what blew up?01:22
wgrantlifeless: MySQL got very attached to keystone's token table and wouldn't let anyone else have a look.01:22
lifelesseep01:22
lifelessthere's a incremental cleaner spamaps wrote01:22
lifelessits pretty much the only safe way to clear stuff in that table01:23
wgrantlifeless: This was a more restricted version of the query from "keystone-manage token_flush"01:24
wgrant(though that query is itself pretty silly)01:24
lifelessoh no01:29
lifelessthats not the safe way01:29
wgrantIt's clearly not safe, but it shouldn't failed in quite the way it did.01:31
lifelesswgrant: https://github.com/openstack/tripleo-image-elements/blob/master/elements/keystone/cleanup-keystone-tokens.sh01:32
wgrantlifeless: Ah yes, why didn't I think to look there :)01:32
lifelesswgrant: I know, I know01:32
lifelessthere's a story, of course01:32
lifelesswgrant: well, I'd need to see the query you used (so I can show it to spamaps :P)) to see if what happened is expected.. but I've seen that pathology before01:33
wgranthahahahah01:33
wgrant"Also, because the keystone tokens are somewhat random 64 byte strings, there will be gaps in the InnoDB key storage. In order to preserve transactional integrity while deleting these rows, InnoDB has to lock these gaps. So new tokens that fit into these gaps will have to wait for the entire delete to finish to be inserted."01:33
wgrantsrsly?01:33
lifelessyes01:35
lifelessits how mysql handles new keys in gaps in the index01:36
lifelessto deal with range queries being invalidated01:36
lifelessI forget the details on postgresql's handling of that (which IIRC happened in 9.0?)01:36
wgrantRight, the new SERIALIZABLE transactions do range locking.01:36
wgrantBut not like that...01:37
wgrant(unless something was actually doing range queries on the token value, which seems unlikely)01:43
blrwgrant: will need to have a review/landing for product-setbranch first, but would you mind a quick sanity check on https://code.launchpad.net/~blr/launchpad/project-meta-go-import/+merge/262550 please?02:56
wgrantblr: Should use vhost.mainsite.hostname rather than launchpad.non_restricted_hostname. secure_codebrowse_root also isn't usable here (you can't branch from it), so you want branch.bzr_identity to get an lp: URL instead.03:03
blrwgrant: I'm not sure the lp: prefix will work in this context will it?03:04
wgrantWe also can't expose a git repository for productseries.03:04
wgrantblr: It depends how go get parses it.03:04
wgrantif it gives it to bzr or bzrlib, it will handle lp: fine.03:04
wgrantBut it may be excessively pedantic.03:04
blrmwhudson: any idea there?03:04
blrwgrant: err true, it only needs the bzr case for product series..03:06
wgrantblr: If the productseries case isn't already supported by the manual launchpad.net bits of go get, we shouldn't support it either.03:07
mwhudsonthere is supoprt in the go tool for lp:product/series03:10
mwhudson(unfortunately)03:10
mwhudsoni don't entirely understand what it is doing :-)03:10
blrmwhudson: would you be able to do a bit of digging to see if the remote import path will support lp:product/series?03:12
mwhudsonblr: what do you mean, exactly?03:12
mwhudsoni'm happy to dig, sure03:12
mwhudsonalthough, arg, regex03:13
blrcan I render `lp:product/series' rather than the http uri03:13
mwhudsonre:     `^(?P<root>launchpad\.net/((?P<project>[A-Za-z0-9_.\-]+)(?P<series>/[A-Za-z0-9_.\-]+)?|~[A-Za-z0-9_.\-]+/(\+junk|[A-Za-z0-9_.\-]+)/[A-Za-z0-9_.\-]+))(/[A-Za-z0-9_.\-]+)*$`,03:13
mwhudsonoh i see03:13
blre.g. <meta name="go-import" content="launchpad.net/product/series bzr lp:product/series">03:13
mwhudsonmagic 8 ball says ask again later03:15
blrmwhudson: fair enough03:15
mwhudsonseriously, not quite sure, will need to stare a bit harder at this03:15
mwhudsoni think it will need to be lp:// to avoid scheme pedantry :)03:19
mwhudsonotherwise ... i think it will probably work03:19
mwhudsonoh hrm, maybe not?03:21
mwhudsonblr: if you just make it say https://launchpad.net/product/series that matches what the go tool will do today03:25
mwhudsonand https://launchpad.net/product on the top level page03:25
mwhudsoni think03:25
blrmwhudson: ok thanks03:40
blrwgrant: in that case, is secure_codebrowse_root appropriate?03:41
blror is there an https equivalent of bzr_identity03:41
wgranthum, it relies on the webapp redirect behaviour? we should probably not.03:53
mwhudsoncurrently it does04:12
mwhudsonagree that's a bit daft and it would be nice to not do that i guess04:12
=== heroux_ is now known as heroux
=== mthaddon` is now known as mthaddon
cjwatsonwgrant: Thanks for the testfix, BTW10:36
=== anthonyf is now known as Guest35024
cjwatsonwgrant: Did you get a chance to look over https://code.launchpad.net/~cjwatson/launchpad/git-repository-ui-edit-target/+merge/261232 again, or should I just go ahead and land that?11:48
wgrantcjwatson: Ah, sorry, wasn't here today. Will have a quick look.11:51
* cjwatson wonders what's up with https://code.launchpad.net/~wgrant/launchpad/git-import-stable and friends. 12-hour scans, it seems to find revisions but they aren't visible on bazaar.launchpad.net, even via sftp11:53
wgrantcjwatson: They are not scans.11:53
wgrantTheir respective imports are incomplete, but continue 30,000 revisions at a time.11:54
wgrantThat is the cause of the grey rather than the green tick.11:54
wgrantcjwatson: No big issues with the branch. Feel free to land it.11:56
cjwatsonimports> oh, right11:57
cjwatsonThanks.11:57
wgrantThe scans should succeed after a retry or two, once the import is complete.11:58
wgrantI manually did an incremental scan to get the initial one in.11:59
cjwatsonExplains why I couldn't find anything in ackee's bzrsyncd logs, anyway.11:59
cjwatsonIncremental scan?11:59
wgrantInserting the 130,000 Revisions, RevisionParents, etc. on top of the 130,000 BranchRevisions is simply too much.12:00
wgrantSo for initial scans of new big branches we have to do it gradually: push them a couple of thousand revisions at a time, so the Revisions aren't all created in one hit which times out.12:00
wgrantSimilar to the way imports work, except in smaller batches and manually.12:01
=== anthonyf is now known as Guest16072
=== anthonyf is now known as Guest26733
=== elmo_ is now known as elmo
blrmorning20:47
=== mup_ is now known as mup
blrwgrant: working on GitRepositoryVocabularyOnProduct, have mostly copied the existing bzr class, but making some sense of it I think.22:24

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