[02:22] <wallyworld_> wgrant: there's a couple of criticals for timeouts doing the most simple updates to the bug table eg update bug set description = "blah" where id = 234. that took 8s. we should be able to close these as a one off you think?
[02:25] <wgrant> wallyworld_: Not for writes, no
[02:25] <wgrant> wallyworld_: Long trivial reads are The Glitch™, but writes tend to be locks
[02:25] <wgrant> Which are a real issue that warrants investigation
[02:26] <wallyworld_> difficult given how infrequently it seems to happen
[02:26] <wgrant> Well
[02:26] <wgrant> We can put in place monitoring
[02:26] <wgrant> To track down long invasive locks
[02:26] <wgrant> But indeed.
[02:27] <wallyworld_> and it seems sporadic - 3 bugs, 3 different single inserts, 3 different tables
[02:27] <wgrant> Which bugs?
[02:27] <wallyworld_> bug 1059853
[02:27] <_mup_> Bug #1059853: BugTask:+editstatus timeout blocked on bug update setting heat <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1059853 >
[02:27] <wgrant> Often we'll have multiple OOPSes
[02:27] <wallyworld_> bug 1048984
[02:27] <wgrant> Which suggest it's not just The Glitch
[02:27] <_mup_> Bug #1048984: BugTask:+edit timeout <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1048984 >
[02:27] <wgrant> But obviously writes *can* be affected by The Glitch too
[02:28] <wallyworld_> bug 1028105
[02:28] <_mup_> Bug #1028105: BugTask:+editstatus slow inserting BugMessage <bugs> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1028105 >
[02:28] <wgrant> So, all of those could conceivably be long Person locks
[02:29] <wallyworld_> how is updating a bug description affected by a person lock?
[02:31] <wgrant> Ah, true, the description change couldn't be affected
[02:31] <wgrant> But the BugMessage one probably is
[02:31] <wgrant> Due to the FK to person
[02:31] <wgrant> If you're inserting a new row, or changing the value of the owner column, it will conflict with a write lock on the referenced person row
[02:32] <wallyworld_> do we know what holds long write locks on Person?
[02:32] <wgrant> But the UPDATE Bug SET date_last_updated=%s, description=%s WHERE Bug.id = %s; can indeed not be affected by that
[02:32] <wgrant> It must be either a glitch or a lock on the bug row itself
[02:32] <wgrant> All three could be explained by a lock on the bug row.
[02:32] <wallyworld_> sure. finding out what is the root cause will be difficult
[07:28] <adeuring> good morning
[14:12] <sinzui> jcsackett, do you have time to hangout
[14:12] <jcsackett> sinzui: sure, give me a moment to locate my phone.
[14:23] <abentley> sinzui: Do you know whether the ProductReleaseFinder should consider non-public products?
[14:25] <rick_h_> abentley: r=me but didn't mark approve since you mentioned some stray test failures in the stand up
[14:25] <abentley> rick_h_: Thanks.  I've nailed down most of the test failures now, just got ProductReleaseFinder to worry about.
[14:26] <rick_h_> abentley: k
[14:29] <sinzui> abentley, I am confident that the answer is no
[14:29] <abentley> sinzui: Thanks.
[14:30] <sinzui> abentley, I don't think they should be permitted to have releases...but that can be debated. they should not be permitted to have a release_file_glob.
[14:31] <adeuring> frankban, rick_h_: could one of you please review this MP: https://code.launchpad.net/~adeuring/launchpad/milestone-sec-adapter/+merge/129907 ?
[14:32] <rick_h_> adeuring: sure thing, will take a look
[14:32] <rick_h_> adeuring: is the QA on the other branch all ok?
[14:32] <abentley> rick_h_: I've pushed r16113, which has no known test failures.
[14:32] <adeuring> rick_h_: just marked it as OK
[14:32] <rick_h_> adeuring: awesome thanks
[14:32] <adeuring> rick_h_: ...and I noticed a bunch of merge conflicts in the new branch...
[14:33] <rick_h_> adeuring: in the milestone one?
[14:33] <adeuring> rick_h_: yes
[14:33] <rick_h_> adeuring: ok cool, will work on getting the deploy done while you peek at that then
[14:33] <adeuring> rick_h_: sounds good
[14:51] <adeuring> rick_h_: I created a new branch & MP: https://code.launchpad.net/~adeuring/launchpad/milestone-sec-adapter/+merge/129917 (was easier create a new branch than to update a somewhat outdated one...)
[14:52] <rick_h_> adeuring: rgr
[15:06] <rick_h_> adeuring: is +            self.assertRaises(Unauthorized, getattr, obj, name)
[15:06] <rick_h_> oops
[15:06] <rick_h_> adeuring: is Authorzized a german thing? At first I thought it was a typo but it's consistantly repeated
[15:06] <adeuring> rick_h_: nah, that's an oridnary typo ;)
[15:07] <rick_h_> ah ok, well you're darn consistant with it and got me wondering :)
[15:07] <mgz> is you're going to tyop, it's best to do it consistently!
[15:07] <adeuring> I'll fix it
[15:07] <rick_h_> adeuring: np, noting them in the comments
[15:08] <rick_h_> mgz: exactly! Get them thinking
[15:17] <rick_h_> adeuring: r=me with some typo and a question
[15:17] <adeuring> rick_h_: thanks!
[15:17] <rick_h_> thanks for the comments to help me along!
[15:32] <rick_h_> adeuring: on the check vs the db constraint, I just bring it up as a general case of check what you want to check directly in case things come along later and you get more than you meant to at a later date
[15:33] <adeuring> rick_h_: could you explain this a bit more?
[15:34] <rick_h_> adeuring: so right now there's two cases, product nad distribution.
[15:34] <adeuring> right
[15:34] <rick_h_> later, let's say someone adds distroseries (not that it would in this case)
[15:34] <rick_h_> your check is against product, so now two things would match, distribution and the newly added distroseries
[15:34] <rick_h_> because you were only checking that product is None
[15:35] <rick_h_> in this case, I guess it's unlikely to be expanded to other items, but as a general rule of thumb, if you want to make sure it's not a distribution I'd word it as self.distribution is not None
[15:35] <rick_h_> vs the indirect product is None
[15:37] <adeuring> rick_h_: ok, in that case we would anyway need to distinguish the cases for distribtuion and distroseries. The current check for "prodct is not None" has in this case the advantage that it prvents a failure for the case that distribution _and_ product are none because distroseries is not none
[15:38] <rick_h_> adeuring: right, but you'd hit a failure and then make sure you take the new condition into account vs silently passing successfully
[15:38] <rick_h_> adeuring: sorry, it's just a general comment and nothing in particular in this case.
[15:38] <adeuring> rick_h_: ok ;) and ISTM that we have different kinds of failure in mind ;)
[16:58] <abentley> rick_h_: I'm going on lunch, but could you please review https://code.launchpad.net/~abentley/launchpad/user-blueprints-tests/+merge/129944 and https://code.launchpad.net/~abentley/launchpad/user-blueprints/+merge/129945 ?  They are two steps in the same work.
[16:59] <rick_h_> abentley: loading up
[18:19] <timrc> Question: we have a user using syncSources() to copy over binary packages from a source PPA to a target PPA.  The issue we are encountering is that if syncSources() runs and all arches are not already built in the source PPA, they apparently get built in the target PPA.  When the arch finishes building in the source PPA syncSources apparently will not overwrite what was built in the target PPA
[18:19] <timrc> In our case it's imperative that the package is identical between the two PPAs
[18:20] <timrc> He's currently having to add additional logic to his script to ensure syncSources is only called once all arches are built
[18:20] <timrc> Is this a bug in LP or expected behavior?
[18:29] <maxb> timrc: Somewhat expected. You may be interested in lp-promote-ppa in lp:hydrazine
[18:30] <maxb> (Pre written cli script for this use case)
[18:32] <timrc> maxb, I'll check it out.  Thanks for the tip
[18:46] <abentley> rick_h_: private-product-listings is on devel now, so you should be able to merge and use it.
[18:52] <rick_h_> abentley: awesome thanks
[18:54] <abentley> wgrant: ~abentley/launchpad/user-blueprints is in EC2.
[19:26] <cjwatson> timrc: By the way, is there a reason you're still using syncSources (which will almost certainly time out lots) and not copyPackages?  Not that it will IIRC make a difference to this bug, but still.
[19:26] <cjwatson> s/bug/behaviour/
[19:28] <abentley> deryck: There's no OCR.  Could you please review https://code.launchpad.net/~abentley/launchpad/user-blueprints-privacy/+merge/129967 ?
[19:31] <maxb> cjwatson: syncSources generally works just fine for a single source. In that scenario, it is highly desirable to receive synchronous feedback
[19:33] <timrc> cjwatson, Not sure why this particular user chose syncSources over copyPackages
[19:33] <maxb> For a script writer's usage, syncSources is better
[19:34] <maxb> Unless you're trying to sync something like the linux kernel, for which LP really is going to time out
[19:34] <cjwatson> Why are you using syncSources rather than syncSource for a single source? :-)
[19:34] <timrc> we use syncSource for a single, small, package in PES to copy a keyring package into PPAs that are created through one of our interfaces.  Works well enough.  I could see the concern if we were copying a lot of packages, though.
[19:34] <cjwatson> syncSource I can more or less understand.  copyPackage and copyPackages I can certainly understand.  syncSources not so much.
[19:35] <timrc> syncSource(s) / copyPackage(s) seem like poor choices for name when taken together
[19:36] <timrc> s/name/naming/
[19:36] <deryck> abentley, sure, I can review.
[19:36] <abentley> deryck: Thanks.
[19:36] <deryck> np
[19:37] <abentley> deryck: rick_h_ already did the hard bits.
[19:38] <cjwatson> timrc: Yes, they grew organically rather than being designed.  Once in place, of course, good APIs don't change.
[19:38] <cjwatson> (Not designed as a whole, I mean.  Of course they were designed individually.)
[19:39] <timrc> I really wish copyPackage/syncPackage had a flag that could be specified that would fail the operation if not all arches were yet built for the package in question
[19:40] <deryck> abentley, yeah, that wasn't bad at all.  easy peasy.  r=me.
[19:40] <timrc> it does seem like a bug to me if what you're trying to express is "copy but don't rebuild this package" only to do just that
[19:41] <timrc> cjwatson, they change, hence versioning...
[19:41] <timrc> seems like we decided to stop at 1.0 oh and default to devel, though
[19:41] <abentley> deryck: thanks.  We're over our WIP limit on QA, so I'll hold off landing for now.
[19:41] <cjwatson> timrc: Yeah, but in reality it would be very inconvenient for little real benefit
[19:42] <cjwatson> timrc: Ubuntu uses copyPackage(s) *extensively*
[19:42] <deryck> abentley, abel's should have moved across, sorry.  I updated the board.
[19:43] <abentley> deryck: Cool.
[19:45] <timrc> cjwatson, Yeah and our use of PPAs is not exactly what they were intended for, so I'm willing to cut some slack :D
[22:47] <abentley> sinzui: around?
[22:47] <sinzui> I am
[22:47] <abentley> sinzui: Could you do me a favour and create a proprietary project on qastaging so I can test my fix for https://qastaging.launchpad.net/projects/+review-licenses ?
[22:48] <sinzui> okay
[22:49] <sinzui> abentley, reload. I created https://qastaging.launchpad.net/aaron-curtis-test
[22:50] <abentley> sinzui: I see nothing new, but it's not broken.  Win.  Thanks.
[22:50] <sinzui> yep
[22:51] <wgrant> sinzui, abentley: That project doesn't look private
[22:51] <wgrant> All its sharing polices are public
[22:51] <wgrant> "Information Type: Public"
[22:52] <abentley> sinzui: Yes, I can see the project under /projects, for example.
[22:53] <sinzui> oh, I made a commercial project, not a public one.
[22:53] <sinzui> I suck
[22:53]  * sinzui tries again
[22:53] <wgrant> It's Proprietary now
[22:53] <abentley> sinzui: I want a proprietary one.
[22:53] <sinzui> I will do both
[22:55] <abentley> Strangely, I seem to be able to navigate to https://qastaging.launchpad.net/aaron-curtis-test but I don't see it listed at https://qastaging.launchpad.net/projects
[22:56] <wgrant> As I mentioned in the review, it's because Product.userCanView lets ~registry see private projects
[22:56] <wgrant> Which doesn't really make sense
[22:57] <sinzui> I did it right the first time https://qastaging.launchpad.net/aaron-curtis-test-2
[22:59] <abentley> sinzui: Okay, I don't see either one listed, but I can navigate to both.  I'll call qa-ok on this code, but I'll make sure we have a bug for this registry issue.
[22:59] <sinzui> I see it as a CA
[23:00]  * sinzui is happy
[23:00] <abentley> sinzui: But you would also see it as product owner.  You should be able to see BzrTools as CA.
[23:01] <sinzui> abentley, I see your private tests :)