/srv/irclogs.ubuntu.com/2012/06/13/#launchpad-dev.txt

StevenKwallyworld_, wgrant: https://code.launchpad.net/~stevenk/launchpad/fix-branch-subscribe-open-team/+merge/10996000:23
bigjoolsyay, spammers are harvesting email addresses from LP00:25
bigjoolshow?00:25
bigjoolsah wait - pgp keys.  bastards.00:25
StevenKwgrant: So, DB patch, since I can't have breakfast. :-/00:42
wallyworld_StevenK: you still want the cancel_url set all the time00:42
StevenKwallyworld_: Right.00:43
wgrantStevenK: The bugtaskflat cache is ([policies], [grantees])00:44
wgrantStevenK: The branch cache can be (policy, [grantees])00:44
StevenKwgrant: In which case the subselect from APA just dies?00:46
StevenKwallyworld_: http://pastebin.ubuntu.com/1038217/00:47
wgrantStevenK: It still exists, but it only returns a single value, not an array.00:49
wallyworld_StevenK: i'd consider self.next_url = canonical_url(...) in the init() and in the one place where needed, set it to None00:51
StevenKwgrant: Oh, SELECT INTO _access_policy FROM (SELECT ...00:51
wgrant+        SELECT COALESCE(array_agg(policy), ARRAY[]::integer[])00:52
wgrant+            INTO _access_policies00:52
wgrant->00:52
wgrant"SELECT policy INTO _access_policy00:52
StevenKwgrant: Could we fix the comment too? Since now we're on 9.100:54
StevenKwallyworld_: Ah, I can't set it directly in the function, it breaks.00:56
wallyworld_which bit?00:57
StevenKwallyworld_: My test blows up with something about can't set next_url directly00:57
wallyworld_self.next_url is set in many other places00:58
wgrantThat view probably has it as a property.00:58
StevenKIt does00:59
wgrantThen that's obviously not going to work.00:59
wallyworld_the diff showed the property being removed00:59
wgrantStevenK: This should work, rather than the subquery madness: SELECT COALESCE(array_agg(policy ORDER BY policy)) FROM accesspolicyartifact WHERE artifact = 5;01:00
wgrantGood way to make sure everyone's upgraded to 9.1, too.01:01
StevenKwgrant: http://pastebin.ubuntu.com/1038229/01:06
wgrantStevenK: 227 is useless01:07
wgrantIt doesn't do anything,01:07
StevenKwgrant: But that's what you said? :-)01:08
wgrantThat's the SQL query.01:08
wgrantIt's clearly not a useful PL/pgSQL statement.01:08
wgrantSince it doesn't put the value anywhere.01:08
wgrantStevenK: An alternative may be to have a general function which returns the arrays for a given artifact.01:09
wgrantBugTaskFlat can use them directly, but Branch can just extract the first policy01:10
wgrantAlso, brb.01:10
lifelesswgrant: lp:~lifeless/squid/3.1-ext-tag01:15
lifelessbigjools: what about it ?01:15
bigjoolslifeless: expiring librarian files - doesn't seem to be mentioned apart from an oblique reference in process-death-row changes01:16
bigjoolsmake it explicit01:16
lifelessbigjools: do we gc the files two different ways?01:20
=== cinerama_ is now known as cinerama
bigjoolslifeless: what files? :)01:26
bigjoolsthere's two lots of files at present01:26
bigjoolsand reaped separately01:27
bigjoolsdeath-row deletes the archive's files and the expiration script deletes the librarian files01:27
bigjoolsboth to a different schedule01:27
lifelesswhere deleting a librarian file == unreferencing it ?01:27
bigjoolsright01:28
bigjoolsactually01:28
bigjoolswe set the date for deletion01:28
lifelessI believe pdr does that01:28
bigjoolsthey both do01:28
lifelessor at least, what wgrant wrote claims it is what does it01:28
lifelessbigjools: when would one set it vs the other ?01:29
bigjoolsthe expiration script deletes the librarian files something like 7 days later01:29
bigjoolsit gives people a chance to recover old files after they get auto-superseded from disk01:29
lifelesswhy don't we just set a 7 day later deletion date?01:30
bigjoolsbecause it affects quotas01:31
bigjoolswhereas the librarian doesn't01:31
wgrantbigjools, lifeless: Three phases: publisher sets SPPH.scheduleddeletiondate; p-d-r deletes from on-disk archive and sets SPPH.dateremoved; e-a-f sets LFA expiry to now01:31
bigjoolswgrant: WFM01:31
wgrantBut e-a-f excludes things with dateremoved within the last week01:31
bigjoolsbut make it explicit in the wiki page01:31
wgrantIt'd better work for you, since I was describing the current process :)01:31
bigjoolsgiven that I know the current process rather well that seems redundant01:32
wgrantlifeless doesn't.01:32
wgrantWell, didn't.01:32
bigjoolswhich is why I was just explaining it ;)01:32
wgrantSo, DisklessArchives doesn't affect expiry, since p-d-r will continue to set dateremoved.01:32
wgrantOr a p-d-r equivalent.01:32
wgrantdateremoved still exists -- it's probably used to determine whether a file is still visible or not.01:33
wgrantSince we can't just rely on publication state.01:33
bigjoolspresumably the proxy will serve 404s for dateremoved files?01:33
wgrantPrecisely.01:33
wgrantThe rewriter will fail the request.01:33
bigjoolsI think that's wrong01:33
wgrantWhy?01:33
bigjoolsactually, scratch that01:34
bigjoolsit's fine01:34
wgrantIt's correct, so it had better not be wrong :)01:34
bigjoolsthe coffee kicked in and I remembered that the UI has librarian links :)01:34
wgrantSo it doesn't affect expiry at all. I should probably have mentioned that.01:34
bigjoolsyeah, make it explicit01:34
wgrant(although if jml and james_w want to implement my e-a-f rewrite proposal they are welcome to :P)01:35
bigjoolshow do we currently work out quotas, is it adding up PUBLISHED files?01:35
wgrantNo.01:35
wgrantdatepublished IS NOT NULL AND dateremoved IS NOT NULL, or something like that.01:35
lifelessnasty horrible timingout query01:35
* wgrant checks.01:35
lifelesshits the LFC IIRC.01:35
wgrantIt's possible that datepublished isn't checked.01:35
wgrantBut dateremoved is.01:35
bigjoolsok01:36
wgrantlifeless: Of course; only LFC has the size.01:36
bigjoolsyes it checks LFC of course01:36
bigjools:)01:36
lifelessthis might be something to dernorm as part of the project; solve quota performance01:36
wgrantIt just checks dateremoved IS NOT NULL01:36
lifelessjust a random though01:36
wgrantlifeless: On the contrary, if you're going to suggest that I'll add it to the out of scope section :)01:37
wgrantIt's completely irrelevant.01:37
bigjoolsfocus!01:37
wallyworldStevenK: just for you https://code.launchpad.net/~wallyworld/launchpad/bug-javascript-1011611/+merge/10996601:38
wgrantlifeless: Your lock has expired -- are you still writing?01:38
lifelessyes, sec01:39
StevenKwallyworld: r=me with one comment01:45
wallyworldStevenK: thanks01:46
lifelesswgrant: all done btw01:47
wgrantlifeless: Thanks.01:47
wallyworldStevenK: i've responded01:48
lifelesswgrant: so, 3.2 is in an interesting state just now; trunk has some acl breakage,w hich alex thinks he has fixed, but...02:00
lifelessthere are folk running 3.2 in prod02:00
lifelessbasically we'd need to validate it does what we want fairly carefully, so I think 3.1+patches is probably the way to go. I've backported the ext-tag support already for this.02:01
wgrantHmmm02:01
wgrantAgreed, the ext_tag stuff looked fairly uninvasive.02:01
wgrantBut I haven't seen your patch02:01
wgrantSo I may not have seen everything.02:01
lifelesssee the wiki page, tis all linked up02:01
wgrantStevenK: How goes the DB patch?02:30
StevenKwgrant: http://pastebin.ubuntu.com/1038289/02:31
StevenKI've been distracted trying to figure out how to disable next_url when it's a property02:32
wgrantStevenK: Make it not a property.02:32
StevenKwgrant: Zope will deal either way?02:32
wgrantConfused.02:33
wgrantZope doesn't know it's a property.02:33
wgrantIt's a property.02:33
StevenKwgrant: Zope will call it properly if it isn't a property?02:35
wgrantMake it an attribute.02:35
wgrantIt doesn't need to be a method or property if you're going to set it explicitly.02:35
wgrant(it doesn't need to be, and it can't bd)02:35
StevenKwgrant: next_url = canonical_url(context) ?02:36
wgrantRight:02:38
wgrantif all_is_good:02:38
wgrant   self.next_url = canonical_url(context)02:38
StevenKwgrant: Not that easy.02:39
StevenKnext_url is set in _BranchSubscriptionView, which the three subscription views subclass off02:39
StevenKRight, Zope does not love next_url if it's not a property02:59
wgrantWhat is "not a property"?03:00
wgrantIt doesn't require it to be a property.03:00
StevenKwgrant: The function is not decorated with @property03:00
wgrantWell yes.03:00
wgrantMaking it a method isn't going to change anything, apart from breaking the interface.03:00
StevenKOh, it fixes the case where you're subscribing an open team nicely. It just breaks everything else. :-)03:01
wgrantErm.03:01
wgrantWhat?03:01
wgrantHow does it fix that?03:01
StevenKBecause I can then just set self.next_url = None03:01
wgrantAh.03:02
wgrantNo.03:02
wgrantMmmm, postgres 9.103:44
wgrantSo nice.03:44
wgrantGIN, column triggers, ordered aggregates...03:44
=== almaisan-away is now known as al-maisan
wgrantStevenK: http://paste.ubuntu.com/1038383/ or so03:57
lifeless-sonly03:58
StevenKwgrant: Hahah, 12-6, not 16-6 :-P03:59
wgrantStevenK: 12-6 is before BugTaskFlat was created :)03:59
wgrantSo it doesn't work back then.03:59
wgrantHas to be after 16-0.03:59
wgrantlifeless: sonly?03:59
StevenKwgrant: Really?03:59
wgrantStevenK: It'll work on prod and staging.03:59
wgrantBut not in make schema.03:59
StevenKOh, of course, the patches will be applied in order03:59
wgrantBecause make schema applies in numerical order.03:59
StevenKYeah, just realised04:00
lifelesswgrant: -slony04:00
wgrantAh04:00
wgrantRight04:00
StevenKI guess lifeless means no slony for 9.104:00
wgrantEventually.04:00
StevenK10 second FDT sounds good04:00
StevenKwgrant: So I get the trigger on information_type changes on branch, is there another entry point I'm missing?04:04
wgrantStevenK: accessartifact_flatten_bug possibly wants to be renamed to reflect the fact that it now does branches too -- it's an INSERT OR UPDATE OR DELETE trigger on AAG and APA, so it handles the other two entrypoints.04:06
StevenKRight.04:07
StevenKaccessartifact_update_artifacts ?04:07
wgrantOr accessartifact_denorm_to_artifacts, or something like that.04:08
StevenKI like that, let's do that.04:08
StevenKI have to DROP the trigger, I can't just replace which function it calls?04:09
wgrantRight, you'll need to drop the trig and func and recreate them with the new names.04:12
StevenKYup04:12
StevenKAnd the comment04:12
StevenKThere are four PERFORM accessartifact_flatten_bug in 16-0, do they need to change too?04:13
wgrantOh right, there's an extra layer of indirection.04:14
wgrantDon't need to recreate the trigger.04:14
wgrantJust rename accessartifact_flatten_bug and replace its name in the trigger func04:14
wgrantBah, but the trigger func is called accessartifact_maintain_bugtaskflat_trig04:15
wgrantSo04:15
wgrantDrop trigger04:15
wgrantDrop accessartifact_maintain_bugtaskflat_trig04:15
wgrantSo needs renaming.04:15
wgrantDrop accessartifact_flatten_bug04:15
wgrantRecreate the three with new names.04:15
StevenKwgrant: http://pastebin.ubuntu.com/1038425/04:43
wgrantStevenK: Pretty good. We can probably dump some of the SECURITY DEFINERs now, though.04:51
wgrantThe internal functions shouldn't have them.04:51
StevenKSo accessartifact_maintain_denorm_to_artifacts_trig can lose it, at least.04:51
wgrantbranch_denorm_access, bug_flatten_access and bug_build_access_cache are probably the only ones that need it.04:52
wgrantAll the other functions either do nothing interesting or are internal.04:52
wgrantCan possibly even do without bug_build_access_cache.04:52
wgrantSince the only other place that is called is the main bugtaskflat function.04:52
wgrantWhich is itself a definer.04:52
wgrantStevenK: Do you know what SECURITY DEFINER does? :)04:53
StevenKwgrant: Nope, I was trusting your judgement.04:53
wgrantStevenK: It's setuid.04:53
StevenKOh, argh.04:53
wgrantIt causes the function to execute as the role that created it.04:53
wgrantRather than the role that is executing it.04:54
StevenKRight, so the less functions that have it, the better.04:54
wgrantIt's handy to put it everywhere for testing. And it's not a huge issue in our DB, since all the users are pretty much trustworthy.04:54
wgrantBut yes, should be minimised.04:54
wgrantStevenK: Functions without SECURITY DEFINER also don't need the custom search_path.04:55
wgrant(same as you don't let a setuid binary execute things from PATH)04:55
StevenKwgrant: Is the converse also true?04:56
StevenKDo functions with SECURITY DEFINER need SET search_path = ... ?04:56
wgrantStevenK: Yes.04:59
wgrantSince names without an explicit schema (ie. everything in all of our DB functions) use the search_path.05:00
StevenKwgrant: http://pastebin.ubuntu.com/1038442/05:03
wgrantStevenK: CREATE TRIGGER accesspolicyartifact_maintain_denorm_to_artifacts_trigger05:05
wgrantThat "maintain_" probably shouldn't be there05:05
wgrantDitto in the second trigger.05:05
wgrantStevenK: I'd drop the SECURITY DEFINER from bug_build_access_cache05:07
StevenKwgrant: bug_build_access_cache was in your list of three that need it :-)05:07
wgrant    LANGUAGE plpgsql SET search_path = public AS $$05:07
wgrantThat search_path can die.05:07
wgrant14:52:40 < wgrant> Can possibly even do without bug_build_access_cache.05:07
wgrant14:52:50 < wgrant> Since the only other place that is called is the main bugtaskflat function.05:07
wgrant14:52:59 < wgrant> Which is itself a definer.05:07
StevenKwgrant: http://pastebin.ubuntu.com/1038447/05:09
wgrantStevenK: Plausible.05:20
StevenKwallyworld: Where's your branch that drops use of branch.explicitly_private and friend up to?05:28
lifelesswgrant: basic_fake_auth - 3.2 helper, don't need your python bit; another backport from 3.2 / build as separate package.05:28
StevenKwgrant: Shall I push up the DB patch, or do you want to ponder a bit more?05:29
wgrantStevenK: Push it up.05:29
wgrantStevenK: Well05:29
wgrantStevenK: First check that it works.05:29
StevenKwgrant: make schema works05:30
wgrantThat doesn't mean much :)05:30
wgrantlifeless: Huh05:30
wgrantlifeless: Indeed, rather handy.05:30
wgranthttp://wiki.squid-cache.org/ConfigExamples/Authenticate/MultipleSources describes a fair bit of what I discovered on Friday.05:31
wgrantIt seems.05:31
StevenKwgrant: test_bug_mirror_access_triggers passes, still doesn't mean much? :-)05:36
lifelesswgrant: yeah, shocking, we have docs05:37
wgrantlifeless: I wouldn't really call that docs.05:39
wgrantStevenK: I'd check it works for branches too.05:40
wgrantStevenK: in psql05:40
StevenKwgrant: http://pastebin.ubuntu.com/1038476/05:47
wgrantStevenK: Check the toggling information_type toggles access_grants between {7} and NULL05:48
StevenKwgrant: http://pastebin.ubuntu.com/1038480/05:50
wgrantMarvellous.05:50
StevenKwgrant: Happy to check APA too, just not sure what policy should be.05:51
wgrantAnything.05:51
wgrantAnything at all.05:51
wallyworldStevenK: it's merged05:51
wgrantDeployed too, isn't it?05:51
wallyworldprobably05:52
wgrantIf it was deployed yesterday, rerun the usual information_type vs transitively_private consistency checks on prod, and drop the columns from code entirely.05:53
StevenKwallyworld: Do you want to handle that?05:53
StevenKOr shall I?05:53
wallyworldStevenK: i've got a few branches on the go, so feel free to take it. i thought you wanted to be the one to drop the columns etc?05:54
StevenKwgrant: http://pastebin.ubuntu.com/1038483/ -- not sure if that's what usually happens.05:54
StevenKwallyworld: Yes, where drop the columns is ALTER TABLE branch DROP COLUMN :-)05:54
wgrantStevenK: bug05:55
wgrantStevenK: Or you're mis-testing.05:55
wgrantOr my code is crap.05:55
StevenKwgrant: I'm happy to accept that I'm mis-testing.05:56
StevenKwgrant: How do I check?05:59
wgrantIt's unfortunately not your fault, I don't think.06:00
StevenKAnything I can fix in 16-6?06:00
wgrantIt's a bug in 16-6, so I hope it's fixable there, indeed.06:00
StevenKAh. Can I have a clue? :-)06:00
wgrantNot until I do.06:00
StevenKI'll quickly put together a branch that drops *_private from the branch model.06:01
wgrantGreat.06:01
wgrantlalala i am stupid06:02
wgrantWell06:02
wgrantlalalal postgres is visual basic06:02
wgrant(its array indices are based at 1, not 0)06:03
wgrantStevenK: Does that tell you how to fix it? :)06:03
StevenKBwahaha06:03
StevenKOne character bug06:03
=== matsubara_ is now known as matsubara
* wgrant fixes two timeouts.06:05
StevenKHm, this could be difficult to rip out.06:06
wgrantHowso?06:06
wgrantShould be delet06:06
wgrantdelete06:06
wgrantdelete06:06
wgrantdelete06:06
wgrantcommit06:06
wgrantpush06:06
wgrantbzr pqm-submit06:06
StevenKGiven the branch browser code uses copy_field(IBranch['explicitly_private'])06:06
StevenKAnd one test still uses transitively_private, so wallyworld fails.06:07
wgrantOh.06:07
wallyworldStevenK: i told you about that one on the call the other day06:07
wgrantwallyworld's branch didn't turn them into properties?06:07
wgrantSO the columns are still being read :(06:07
wgrantFixing that is top priority and pretty trivial.06:07
StevenKRight.06:08
wgrantOnly after that's deployed to appservers can we stop writing to the columns.06:08
StevenKYeah06:08
wallyworldStevenK: i thought your next branch would be the one to drop them from the model code06:08
StevenKwgrant: Give me a few minutes and I'll throw up a branch.06:08
* StevenK blinks, just having re-read that sentence.06:09
wallyworldhence i left that one behind since it can be done at the same time06:09
StevenKwallyworld: As wgrant says, we can't. They need to depend fully on information_type under the covers.06:09
wallyworldbut the one remaining case is just some bug text view06:09
wallyworldwhich is not really used06:09
wgrantPlus the API :)06:10
wallyworldwhich i thought would be done when the class properties were dropped06:10
wallyworldi basically changed all the sql queries to use unfo type06:11
wgrantwallyworld: There's a race there.06:11
wgrantWe need to stop reading before or at the same time as we stop writing.06:11
wgrantBut deploys aren't atomic and isolated.06:11
wgrantSo the read removal needs to be done in an earlier deploy.06:12
wallyworldsure06:12
wallyworldthat's what i though StevenK was doing next06:12
wallyworldsince he expressed an interest in doing the remainign bits06:12
StevenKI think lib/lp/code/model/tests/test_branch_privacy_triggers.py will fail with this change.06:15
wgrantIt will.06:15
StevenKNuke from orbit?06:15
wgrantIdeally replace with something that tests the new ones :)06:16
StevenKwgrant: Oh, sorry, I don't mean the branch that adds 16-6, I mean the branch that replaces explicitly_private and transitively_private with properties.06:17
wgrantStevenK: Hm?06:18
StevenKwgrant: http://pastebin.ubuntu.com/1038507/06:20
wgrantStevenK: You need to preseve the cols, just under different names.06:20
StevenKBut nothing reads them anymore06:21
wgrantNot after that diff is deployed, no.06:21
StevenKBug._private was for Storm's benefit06:21
wgrantBut as I said above, we need to keep setting the DB columns until everything has stopped reading them.06:22
wgrantNow, if you try to stop both reading and writing in the one deploy, you're breaking things.06:22
wgrantSince one appserver will have stopped writing them while others are still reading them.06:22
wgrant== leak06:22
StevenKAh.06:23
StevenKCurses.06:23
wgrantI have that effect on people.06:24
StevenKwgrant: http://pastebin.ubuntu.com/1038511/06:24
StevenKwgrant: And 16-6 psql test: http://pastebin.ubuntu.com/1038516/06:26
wgrant+    # These can die after the UI is dropped.06:30
wgrantI forget -- do we care about API?06:30
wgrantStevenK: That looks unbroken indeed.06:30
StevenKtransitively_private is not exported, so can die.06:31
StevenKexplicitly_private is exported06:31
StevenKAs is private06:31
StevenKBecause a non-duplicated interface is a bad one.06:31
wgrantexplicitly_private is private06:31
StevenKwgrant: They're both on the interface. Seperately.06:32
wgrantAh06:33
wgrantErm06:37
wgrantStorm, what are you doing.06:37
wgrantBad Storm.06:38
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/branch-privacy-properties/+merge/10998706:52
StevenKwgrant: Can haz review so I can do stuff while ec2 munches on it?07:01
wgrantStevenK: Done, with comment.07:02
adeuringgood morning07:49
rvbaHi frankban, are we not on review duty today?07:59
frankbanrvba: yes we are.07:59
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivorykr8 | On call reviewer: frankban* (rvba) | Firefighting: - | Critical bugs: 3.47*10^2
rvbafrankban: ;)08:00
jmlbenji: thanks for adding that readme :)08:53
cjwatsonbenji: Isn't it a bit odd that logs is still in .bzrignore?  (And also logs/README.txt via the logs/* entry.)09:34
benjicjwatson: yea it is a bit odd; I'll remove the directory itself.  I wonder how to ignore the non-README contents of the directory though09:37
jmlbenji: one (crappy) way, rename README to _README and ignore [A-Za-z]*09:41
adeuringstub: do you know the reason why ftq('aaa.bbb') returns the tsquery 'aaa' & 'bbb' | 'aaabbb'? Can't we simply drop this logic?09:44
stubadeuring: We can certainly drop and/or change the logic. Nobody has been able to really articulate what a search is actually supposed to do beyond 'be like google, but with substring matching' in the past.09:46
adeuringstub: ok, I'll see what we can remove or if we can make the function at lkeast simpler09:47
stubadeuring: I don't think any tests beyond the text search ones test the weird cases, and feel free to rewrite that horrible ftq() function entirely. Nobody should ever let me write parsers because I don't know what the hell I'm doing.09:47
adeuringstub: ;)09:47
stubadeuring: I do recommend reading the text search docs in the PG manual if you haven't already - if nothing else, it will get you familiar with the language and what problems you should be considering09:48
adeuringstub: yeah, I'm already looking into the docs09:48
ivoryfrankban: could you please look at this mp: https://code.launchpad.net/~ivo-kracht/launchpad/bug-353097/+merge/11001809:55
frankbansure ivory09:55
jmlso a private team can't be a product owner?10:09
jmlso, I was thinking about Launchpad's microservice idea last night10:18
jmland thinking about splitting out codehosting10:18
jmland then I thought that you'd probably want to split out the xml-rpc service that codehosting talks to10:18
jmlbut then I thought, LP used to have a separate xml-rpc service that codehosting talked to, and we rolled it into the appserver10:19
jmlWhat has changed between then and now such that splitting it out again is a good idea? (Is it a good idea?)10:19
jmlIf a private team can't be a product owner, then I guess that means that private teams cannot have commercial subscriptions10:21
czajkowskijml: you did a lot of thinking last night :)10:21
wgrantjml: Private teams can be project owners.10:22
wgrantjml: I'm not sure if it's meant to be allowed yet, but we intend to allow it in future, and there is at least one case on production already that I know about.10:22
jmlwgrant: http://paste.ubuntu.com/1038782/ says otherwise.10:24
wgrantjml: Yeah, as I thought, it's not currently allowed. But https://launchpad.net/convoy is the production example I was thinking of.10:25
jmlwgrant: ok, thanks10:26
jmlwe're in testfix mode now. I'm guessing it's due to the failure on the db_lp slave.10:26
wgrantIt was more than likely spurious, can you retry?10:26
wgrantIf you're there.10:27
jmlI am. Just did.10:27
wgrantThanks.10:27
* jml wonders how long it takes for pqm to switch out of testfix10:29
lifelessjml: splitting out the bzr codehosting stuff doesn't imply splitting out the xmlrpc service10:30
jmllifeless: I know that.10:30
lifelessjml: the xmlrpc service talks to the LP db, it needs to stay unsplit, most vigorously.10:30
lifeless22:18 < jml> and then I thought that you'd probably want to split out the xml-rpc service that codehosting talks to10:30
lifelessjml: ^ what did you mean by that then ?10:31
jmllifeless: I meant "want" rather than "need"10:31
lifelessjml: so I'm asserting that want is wrong.10:31
jmllifeless: so what's the principle, that only the appserver should talk directly to the db?10:31
lifelessyes.10:31
lifelessthats declared in the SOA docs FWIW.10:31
lifelessmost of our scripts should be moved out of the core tree into API clients, for instance.10:32
lifelessthe buildmaster likewise.10:32
jmllifeless: where abouts?10:32
lifelessone or more anciliary projects10:32
jmllifeless: yeah, the buildmaster is the other one I think about from time to time10:33
lifelessvalidated test doubles to preserve the contracts they need and let them be tested robustly.10:33
jmllifeless: it's fruit is higher up the tree10:33
jmllifeless: I mean, whereabouts is the "only appserver should talk to the DB" written? I don't recall it and a quick grep doesn't find it.10:33
jmls/it's/its/10:34
lifelessits not a rule-rule yet, because it would create massive instantaneous debt, but its a meme I keep harping on. The closest actual rule-thing for it is...10:36
lifelesshttps://dev.launchpad.net/ArchitectureGuide/ServicesAnalysis#Contracts_and_protocols10:38
jmllifeless: I guess I'm mostly interested in why it's a desirable thing.10:38
lifelesswhich has 'Access to a particular form of persistence (e.g. the librarians files-on-disk, or a particular postgresql schema) requires being in the same source tree as the definition of that persistence mechanism.'10:39
lifelessjml: managing complexity10:39
jml"Access to a particular form of persistence (e.g. the librarians files-on-disk, or a particular postgresql schema) requires being in the same source tree as the definition of that persistence mechanism."10:39
lifelessjml: two different servers means either db model code running in two different (perhaps wildly so) contexts, or just redundancy in layout10:40
jmllifeless: that makes sense, thanks.10:40
lifelessjml: anytime, I'm sure I put that in there somewhere10:42
wgrantHowever, most of codehosting's model probably doesn't belong in the main LP DB.10:43
wgrant:)10:43
lifelesswgrant: lp:~wgrant/launchpad/dspc-trgm-indices into lp:launchpad10:44
lifelesssholdn't thast be db-devel ?10:44
wgrantlifeless: Should be doable hot.10:44
lifelessabsolutely, but,..10:44
wgrantHot patches go to devel.10:45
lifelessunless jml butchered it, no they don't.10:45
wgrantWe've done it this way since last year...10:45
wgrantWhy wouldn't they?10:45
wgrantHot index patches have always been applied live and landed on devel.10:45
lifelessnearly 11pm, not the time for me to be thinking about this.10:45
lifelessworth checking the history on https://dev.launchpad.net/PolicyAndProcess/DatabaseSchemaChangesProcess and seeing if a 'cleanup' actually made it incorrect.10:46
wgrantI haven't read that page this year :)10:46
wgrantSo a recent cleanup certainly hasn't changed my view of it.10:46
wgrantAnyway, landing live-applied DB patches on db-devel provides no benefit and lots of confusion, so we shouldn't do it.10:47
wgrantBut tomorrow :)10:47
lifelesswgrant: qa might be part of it, I'll have to page it in. Tomorrow10:47
=== al-maisan is now known as almaisan-away
lifelessalso, you edited it in may, fibber ;)10:48
* lifeless goes to sleep10:48
wgrantI didn't read it.10:48
wgrantI knew exactly the part that needed fixing :)10:48
jmllifeless: I'm pretty sure I didn't touch hot vs cold patches.10:49
jmlg'night.10:49
wgrantcjwatson: Your column rename is done.10:51
wgrantcjwatson: You can remove the compat code.10:51
wgrantjml: Yours should happen on Friday.10:51
jmlwgrant: hurrah.10:52
jmlI'm keen to mark the LP side of our LP integration work as done.10:54
stubwgrant: We already have a GIN index on distributionsourcepackagecache(fti)10:55
* stub checks if his branch landed10:55
wgrantstub: Oh right, just not in devel yet.10:55
wgrantIt's in db-devel10:55
wgrantNext up10:55
* wgrant removes that one.10:55
ivoryfrankban, rvba: thanks for the reviews10:56
rvbaYou're welcome ivory.10:56
frankbanivory: welcome10:56
=== matsubara_ is now known as matsubara-lunch
=== almaisan-away is now known as al-maisan
cjwatsonwgrant: Great, thanks.11:09
=== al-maisan is now known as almaisan-away
=== matsubara-lunch is now known as matsubara
cjwatsonI could use reviews of https://code.launchpad.net/~cjwatson/launchpad/pocket-permissions/+merge/110037 and https://code.launchpad.net/~cjwatson/launchpad/packageset-score-rename-finish/+merge/11004612:09
=== almaisan-away is now known as al-maisan
cjwatsongmb: I tried your suggestion in https://code.launchpad.net/~cjwatson/launchpad/export-change-override/+merge/109549 (http://paste.ubuntu.com/1038961/), but two problems: firstly, the title= override doesn't seem to take so the title is wrong in apidoc (it says "The priority being published into", which is less helpful); secondly, tests fail with http://paste.ubuntu.com/1038963/ suggesting that the magic translation ...12:58
cjwatson... doesn't actually happen.12:58
cjwatsongmb: Do you know what I might be doing wrong?12:59
=== al-maisan is now known as almaisan-away
deryckadeuring, https://plus.google.com/hangouts/_/5aac2d43bc403742ae3a25334fb32476561cab82?authuser=0&hl=en14:04
=== abentley changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivorykr8 | On call reviewer: frankban* (rvba), abentley | Firefighting: - | Critical bugs: 3.47*10^2
=== Ursinha_ is now known as Guest4406
=== almaisan-away is now known as al-maisan
jamestunnicliffeHi, anyone got any idea why the expander icons have vanished from https://launchpad.net/~linaro-infrastructure/+upcomingwork ? The work with a recently merged (an hour ago) local instance.15:18
jmljamestunnicliffe: I think there might be a  known issue with sprites & chrome15:22
jmljamestunnicliffe: but I'm not 100% sure, and I don't have a bug number.15:22
jamestunnicliffejml: Thanks. Firefox does show the sprites.15:24
rick_hlooking, I wasn't aware we had any sprite issues.15:24
sinzuijamestunnicliffe, I think wallyworld has a fix for that. This affects webkit browsers.15:24
rick_hah, it's the empty content15:24
rick_hif I put any content in there I get the sprite15:25
sinzuirick_h, it is more subtle than that. There is a leading space *before* the anchor. New webkit can show empty content, but space normalisation and stripping interfere15:26
sinzuirick_h, I still believe empty anchors are invalid though15:26
rick_hsinzui: yea, I'm pretty sure they are as well.15:26
rick_hwheee, the browser dance here's your chance...browser dance...do the browser dance... :)15:27
sinzuiwebkit wins one technical merit. gecko wins because it does what you expects15:28
sinzuijamestunnicliffe, report the missing expanders as a new bug and add the regression tag. wallyworld's fix does not fix the missing expanders15:32
jamestunnicliffesinzui: Will do. Thanks for looking into it.15:33
=== al-maisan is now known as almaisan-away
sinzuideryck, abentley, mrevell, flacoste: I have written all that I recall proprietary projects need to do with bug linking. I think we can find the essential use cases from this http://blog.launchpad.net/general/bug-linking-part-215:45
mrevellThanks sinzui15:45
abentleysinzui: thanks.15:45
czajkowskisinzui: just posting it t places now15:46
czajkowskithanks15:46
flacosteadeuring: congratulate ivorykr8 for his first landing!15:46
sinzuioh, did he use my suggested text?15:47
adeuringflacoste: thanks, but congrats shoukd go to ivory15:47
flacosteah, i wasn't sure if he renamed himself15:47
flacosteivory: congrats on your first landing! should be out to qastaging pretty soon15:48
czajkowskiivory: well done15:48
=== flacoste changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: frankban* (rvba), abentley | Firefighting: - | Critical bugs: 3.47*10^2
sinzuiit only took me 18 months to write that sentence15:49
derycksinzui, thanks for writing that up.15:51
=== almaisan-away is now known as al-maisan
=== frankban changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: abentley | Firefighting: - | Critical bugs: 3.47*10^2
=== al-maisan is now known as almaisan-away
czajkowskijamestunnicliffe: have you seen  https://bugs.launchpad.net/launchpad/+bug/1004416   wondering how similar it is to the one you just reported.16:39
_mup_Bug #1004416: Work Items not allowing users to edit them properly <work-item-tracker> <Launchpad itself:Triaged by linaro-infrastructure> < https://launchpad.net/bugs/1004416 >16:39
sinzuiczajkowski, I think they are the same issue16:50
czajkowskisinzui: I thought so too but wanted to check as I've tried to recreate the blueprint one but not seeing the issue, but I know others are having issues with them16:51
=== deryck is now known as deryck[lunch]
=== Guest97209 is now known as Ursinha
=== Ursinha is now known as Guest86632
timrcHi, my understanding is that subscribing an individual to a Private PPA via the Manage Access view gives them "read" access to the PPA.  Someone just reported that they attempted to do this for an individual, but they were unable to access +packages? How would I go about giving an individual read-only access to the PPA in terms of installing packages and accessing the UI?17:53
=== matsubara is now known as matsubara-afk
=== deryck[lunch] is now known as deryck
lifelesssinzui: bug 1012787 - what mails are going to the team membership ? {I'm wondering if its unneeded complexity and that the actual problem is unnecessary notification emails/implicit subscriptions}18:31
_mup_Bug #1012787: cannot team restrict emails to go to the team admin <email> <linaro> <teams> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1012787 >18:31
=== almaisan-away is now known as al-maisan
sinzuilifeless, joey can provide example of emails that he does not want members to get18:38
joeyaloha19:01
lifelessaloha19:01
lifelessso, what are the symptoms you're seeing ?19:01
joeyI'll email you, lifeless, and sinzui,  a typical example19:02
sinzuithank you19:05
joeyok it's on it's way to your @c.c ids19:06
=== Ursinha` is now known as Ursinha
=== Ursinha is now known as Guest57727
joeysinzui: lifeless - btw there's one more thing19:16
joeysinzui: lifeless - when IS makes a change to the teams for example, I get a raft of "Security exposure! This guy isn't part of Linaro. He's touching our stuff!" emails19:17
joeysinzui: lifeless - It's a headache since it happens a lot19:17
joeysinzui: lifeless - that's part of the reason I went to ~linaro-sysadmins so they see my name on it and mostly they ignore it19:17
sinzuijoey. That last part is very interesting19:17
joeysinzui: yeah I have to imagine other projects may get that from time to time19:18
joeysinzui: especially when they touch private teams19:18
joeyczajkowski: ^^19:19
lifelessjoey: that refers to mail from linaro folk that don't recognise e.g. stephanie miller ?19:28
joeylifeless: correct19:28
joeylifeless: they rightfully query me which is good but you see the overall issue19:29
joeyI guess to some extend Linaro might be a special case but if was with, say, Mozilla, and someone did that  they didn't know they would probably have a similar reaction19:30
=== al-maisan is now known as almaisan-away
czajkowskisinzui: in all the disclosure work you're doing, is there anything being done to tell people the bug they are trying to view is a private bug so they understand when they cant find it ?19:39
sinzuiczajkowski, We are still debating this. private things are officially 404 and we do not talk about privacy19:41
czajkowskiwell it would cut down on questions we get a lot of https://answers.launchpad.net/launchpad/+question/20034819:41
sinzuiczajkowski, the underlying problem is the people (and bots) are inconsiderate of others when marking bugs duplicates19:41
czajkowskiit's not clear to users why they cant see it but it's being referenced so it's confusing19:42
sinzuiI hope that Lp will force users to be considerate when the Orange Mafia work on bug linkings19:42
czajkowskiif there is no bug open on this will create one as I think it'd be good to address19:43
sinzuiczajkowski, private bugs in non-commercial projects should never be the master of a duplicate. People and bots are being complete and utter bastards to other users19:43
czajkowskithe current error or lack of information is not ideal.19:43
czajkowskisinzui: no arguements from me there :)19:43
sinzuiWe have several open bugs19:43
czajkowskisinzui: I only understand this now from working on LP, before I used to find it rude and annoying, now I just find it annoying19:44
sinzuibug 434733 I cited in my blog bost today is the one users most care about19:44
_mup_Bug #434733: marking public bug as duplicate of private bug leads to confusing UI <chr> <confusing-ui> <lp-bugs> <privacy> <qa-untestable> <ui> <Launchpad itself:In Progress by stevenk> < https://launchpad.net/bugs/434733 >19:44
joeysinzui: the way I've begun to look at things now is with a UX hat on.  It's not sufficient to say "my service isn't responsible".  If the service is able to help mitigate a social problem, oftentimes it's worth the time and effort (assuming it's done correctly)20:02
joeysinzui: and it helps to clear up ill perceptions20:02
lifelessczajkowski: https://bugs.launchpad.net/ubuntu/+source/apport/+bug/76441420:12
_mup_Bug #764414: private master bugs are confusing and lead to more duplicate filings <pet-bug> <apport (Ubuntu):Triaged by pitti> < https://launchpad.net/bugs/764414 >20:12
lifelessjoey: ^20:12
lifelessthats the root cause; its what causes the bad experience.20:12
lifelessWe could fix it in a heartbeat, by stopping apport doing it.20:12
lifelessBut that would be a litle unreasonable to do unilaterally.20:13
czajkowskilifeless: thanks.20:14
czajkowskinever seen a tag - pet-bug before20:14
joeyyeah I remember that bug :-)20:17
joeycaused me grief in OEM20:17
czajkowskijoey: why ?20:17
joeyin the OEM days public was public and private was NDA'd so you couldn't even acknowledge the two20:17
joeyso you might have a public Ubuntu bug that was created and a dup of a private OEM bug, but you could do touch it20:18
czajkowskiah gotcha20:18
joeybut anyway, there is usually a solution if you can think out of the box and, crucially, have some resource to work on it20:18
joeyin the bug lifeless mentioned, you can't futz with apport because it'll break things20:19
joeybut you could have a background service process that interrogates bugs and does bug matching...but that is very expensive20:19
joeyand I fear the algorithm would be more prone to failure than success20:20
lifelessjoey: we can change apport, pitti in principle agreed to what I suggested.20:20
lifelessjoey: the problem is resources.20:20
joeylifeless: Good to know. I guess you solved it somehow other than making apport aware of private bugs?20:21
joeyapport on the client machine that is20:21
lifelessjoey: huh? this isn't client side.20:21
lifelessjoey: its all server side + how devs do their bug management.20:21
joeylifeless: ok you just confirmed my suspicion20:21
lifelessjoey: the apport retracer is the thing that makes bug A a dupe of bug Master.20:22
lifelessAnd bug Master is allowed to be private.20:22
joeyah right, that's where I was headed with the service process comment above...was just being a bit general20:22
joeystill, you need dev time to make it happen20:22
joeyanyway, dead horse :-)20:23
lifelessjoey: *we* don't, Ubuntu do :)20:23
lifelessjoey: this isn't something we can directly fix :(20:24
joeylol20:24
lifelessEven supplying a patch isn't enough, the stuff that needs finesse and time is social.20:24
lifelesssinzui: so joeys mail; the point solution there is perhaps 'only tell admins about team join events', that is there is no action for members to take.20:39
lifelessor maybe even only owners.20:39
sinzuilifeless, admins I think. the owner can be an admin if he chooses20:39
lifelessmembers are not expected to do anything as a result of a team join (ignoring mailing lists for a second)20:39
sinzuilifeless, and if this is the case, I suspect we can duplicate this bug20:40
lifelesssinzui: for mailing lists, they still don't need to do anything, unless their list preference is 'ask me about subscribing when I join a list team'20:40
lifelessjoey: are there other sorts of mails than that one that you sent us ?20:40
sinzuilifeless, agreed20:41
joeylifeless: that's the standard mail I receive along with the "who's Stephanie Miller and why is she touching our Linaro stuff?" emails.20:41
joeysinzui: lifeless - I'm ok with admins vs owners.20:42
joeysinzui: lifeless - just anything other than rank and file members20:42
joeyIf I think about it, admin is the probably the correct decision20:42
sinzuijoey owners can leave the team, they have delegate the running of it to the admins.20:42
sinzuiowner can take back control if they want20:43
joeysinzui: well in my case, ~linaro-sysadmins are not members, only owners20:43
joeysinzui: so I guess I'd need both owner and admin20:43
sinzuiah, so they should not ever get notifications.20:43
joeyI'm sure if you do it one way someone will complain that they want it the other20:43
joeysinzui: in my case, having ~linaro-sysadmins as part of the team screws up the milestone view in LP so we have to remove them for metrics and such20:44
sinzuijoey, can I see en example of a team that ~linaro-sysadmin owns20:44
joeysinzui: think  status.linaro.org20:44
joeysinzui: ~linaro20:44
joeysinzui: actually, anything ~linaro and ~linaro-*20:44
joeysinzui: also we have some private or access restricted teams and we don't want members/partners/etc looking at the team list and wondering who the sysadmins are20:45
joeyjust prevents questions20:45
joeyis that a firm requirement? no20:45
sinzuijoey, https://launchpad.net/~linaro/+members says ~linaro-sysadmin are the only admins20:45
joeysinzui: yeah that's the one case :-)20:45
joeysinzui: look at any of the sub-teams20:46
joeysinzui: I suppose the safer approach is admins & owners but the more expensive approach is a tick box for each.  Just me thinking out loud. You're the right brain to noodle on it.20:52
sinzuijoey, we really make a point of not contact owners that are not admins20:52
joeysinzui: I think I can live that20:53
joeysinzui: I miss the change notifications but frankly, if something is not working, someone is going to me20:53
joeysinzui: and eventually ping the linaro sysadmins20:53
joeysinzui: and I do want the team admins to be fully engaged in their teams20:53
joeysinzui: so I can deal with admin only20:54
joeysinzui: I've often wanted a "reason box" when adding people just like deleting them but that's another story for another day :-)20:54
sinzuijoey. I too see a cluster of issues here that would be nice to fix in a single branch. Limit who gets the email, fix the headers and rationale, state in the UI who gets the emails20:56
=== Guest57727 is now known as Ursinha
=== Ursinha is now known as Guest2796
sinzuijcsackett, mumble?22:11
wgrantbenji: Is your removal of logs/ just a day after its creation deliberate?22:36
cjwatsonHm, OCR not on channel22:54
cjwatsonI'd like to get https://code.launchpad.net/~cjwatson/launchpad/pocket-permissions/+merge/110037 landed in the not too distant future, since the code on prod is broken (not a regression, but still).  Anyone up for a review of some URL traversal code?22:54
wgrantcjwatson: Looking.22:55
=== wgrant changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | Welcome our new intern: ivory | On call reviewer: - | Firefighting: - | Critical bugs: 3.47*10^2
wgrant37item = ("type=packageset&item=%s&series=%s" %22:57
wgrant38(self.context.package_set_name,22:57
wgrant39self.context.distro_series_name))22:57
wgrantEw22:57
StevenKwgrant: If you make some broad statement about that line wrapping being as bad as mine, I might have to get offended. :-P22:58
wgrantNot line-wrapping.22:58
wgrantThat code is just wrong :)22:58
cjwatsonwgrant: That's the pre-existing bit isn't it?22:58
wgrantIt is, yes.22:58
wgrantIt's also horrible.22:58
wgrantBut not your fault.22:58
cjwatson(For my edification, what's horrible?)22:58
wgrantYou can't just stuff arbitrary strings into application/x-www-form-encoded and hope it works.22:59
wgranteg. if a name contains + that will break.22:59
cjwatsonEntertaining22:59
wgrantapplication/x-www-form-urlencoded, that is22:59
cjwatsonShould it be escaped or totally rearranged? :-)23:00
cjwatson(Academic since I hope not to have to touch that again.)23:00
wgrant"escaped" is the wrong way to think about it. The query string should be formed using urllib.urlencode({'type': 'packageset', 'item': self.context.package_set_name, 'series': self.context.distro_series_name}) or so.23:02
wgrantcjwatson: r=me23:03
wgrantFeel free to rewrite that doctest to be unit tests that are about 90% smaller, but I doubt I can convince you to do that...23:03
cjwatsonWell, I've done it for a bunch of my other branches recently23:04
cjwatsonIn this case I sort of want to get the fix in quickly rather than spending another half a day rewriting doctests, though23:05
wgrantExactly :)23:05
cjwatsonHow about I queue it up as first against the wall for the next time I want LoC?23:05
wgrantIt's fine as it is.23:05
wgrantBut yes, that would indeed be a good idea.23:05
cjwatson"fine" in the limited sense that any doctest can be fine.23:05
wgrantdoctest-slaying is a pretty good way to get LoC23:05
cjwatsonMost of the time, yeah.23:06
cjwatsonI'm not convinced my xx-*-package-publishing.txt rewrite is going to be much of a wine23:06
cjwatson*win23:06
cjwatsonwgrant: Thanks, sending to EC2.  I hope it sticks this time.23:08
wgrantcjwatson: Seems like it should. Thanks for fixing that.23:08
lifelesshmm, js.js for foreign sourced scripts23:13
cjwatsonwgrant: I'd still like to get the queue-api review finished, but that might be a bit much for first thing in the morning. :-)23:14
wgrantlifeless: Along with its nodejs integration, js.js.js?23:15
wgrantcjwatson: Looking at your others new.23:17
wgrantqueue-api will be done gradually over the day, I suspect :)23:17
wgrantpackageset-score-rename-finish approved23:17
cjwatsonHeh, yeah23:17
wgrantWhat's export-change-override up to?23:18
cjwatsonI queried gmb about his comment earlier today, but haven't heard back.23:18
cjwatson13:58 <cjwatson> gmb: I tried your suggestion in https://code.launchpad.net/~cjwatson/launchpad/export-change-override/+merge/109549 (http://paste.ubuntu.com/1038961/), but two problems: firstly, the title=23:18
cjwatson                 override doesn't seem to take so the title is wrong in apidoc (it says "The priority being published into", which is less helpful); secondly, tests fail with http://paste.ubuntu.com/1038963/23:18
cjwatson                 suggesting that the magic translation ...23:18
wgrantAh23:18
cjwatson13:58 <cjwatson> ... doesn't actually happen.23:18
cjwatson13:59 <cjwatson> gmb: Do you know what I might be doing wrong?23:18
wgrantSaw that but forgot about it, indeed.23:18
wgrantcjwatson: If you're going to make it more widely available, you might consider fixing bug #530020 while you're there23:19
_mup_Bug #530020: change-override.py should forbid modifications of the RELEASE pocket of non-development series <lp-soyuz> <soyuz-ftpmaster-tools> <soyuz-publish> <Launchpad itself:Triaged> < https://launchpad.net/bugs/530020 >23:19
cjwatsonp-s-r-f: thanks, can I have Status: Approved and I'll land it?23:19
cjwatsonOh, interesting23:19
wgrantHm, I did.23:19
wgrantMaybe I have too many MPs open so longpoll is killing the world.23:19
wgrantIndeed.23:19
* StevenK stabs longpoll23:19
wgrantFixed.23:19
lifelesswgrant: js.js.js would be most fun23:21
cjwatsonHappy to stall export-change-override on 530020, though probably not tonight.23:21
wgrantcjwatson: Should be a ~2-line fix + tests, and it seems like a good idea to do it before exposing it, so that'd be nice, thanks.23:22
cjwatsonWell, ~4 'cos there are two changeOverride methods to consider, but yes :-)23:23
wgrantTrue.23:23
StevenKwgrant: Oh, HAH.23:26
StevenKwgrant: IBranchNamespace.createBranch() still had explicitly_private in it.23:26
wgrantThat would do it.23:26
StevenKI'm using test_branchmergeproposal as my canary, and I've dropped from 305 failures to 24. Something else is touching transitively_private inappropiately.23:30
StevenKRight, 1 failure, and that's 2.723:39
StevenKwgrant: So I want to stop setting them too?23:39
wgrantThe DB columns still need to be set in the first branch.23:40
wgrantBut they must not be read.23:40
wgrantwallyworld: Bug #1012912 might be of interest. Found it during QA of your changes from yesterday, but it's not a regression in them.23:45
_mup_Bug #1012912: +filebug choice popups break when the user is unprivileged <disclosure> <javascript> <trivial> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1012912 >23:45
wallyworldok, will fix thanks23:46
StevenKwgrant: http://pastebin.ubuntu.com/1039933/23:54
wgrantStevenK: If that fixes it.23:56
StevenKwgrant: Drops the failures from 305 to 1, and that one is a 2.7 thing.23:56
wgrantSounds good.23:58
* StevenK re-tosses at ec223:58

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