/srv/irclogs.ubuntu.com/2013/04/03/#launchpad-dev.txt

StevenKwgrant: http://pastebin.ubuntu.com/5669749/00:35
wgrantStevenK: Having an _ method on an interface makes even less sense than having it in configure.zcml.00:41
wgrantStevenK: If you really need to access it from outside, particularly through a proxy, it should not be private.00:41
StevenKwgrant: I don't want to rename it because then I have to re-grow the _getSpecifications method00:42
wgrantStevenK: Why?00:43
wgrantWe control both sides of the code00:43
wgrantWe can rename it on both00:43
wgrantez00:43
StevenKBut the ProductSeries is via IHasSpecifications, which has far wider impacts.00:44
wgrantStevenK: Er00:45
wgrantStevenK: IHasSpecifications contains _all_specifications?00:46
wgrantwtf, so it does00:46
StevenKYes00:46
wgrantwtf00:46
StevenKAnd it's exported00:46
StevenKSo we're stuck with it00:46
wgrantIt's exported without _00:47
wgrant        exported_as="all_specifications", as_of="devel")00:47
wgrantAlso, why is that exported :/00:47
StevenKSo it's _all_specifications for beta and 1.0 ?00:47
wgrantSigh00:47
wgrantNo00:47
wgrantBlueprints aren't exported at all before devel00:47
StevenKAh00:48
wgrantWhat do people have against sensible search methods?00:48
StevenKSo which one of us is going to check appserver logs for all_specifications? :-)00:48
wgrantIt's going to be used00:48
wgrantBecause there's no specification search method AFAICT00:48
StevenKsearch_specifications00:48
wgrantNot on the API00:49
StevenKRight00:49
wgrantAlso note that the fact it's exported means that you can't change it to actually return all specifications00:49
wgrantIt has to use LaunchBag to get the user00:49
wgrantSo perhaps create a new method _SERIOUSLY_PEOPLE_THINK_ABOUT_IT_BEFORE_YOU_EXPORT_SOMETHING_all_specifications00:50
wgrantAnd export that instead00:50
StevenKHahaha00:52
StevenKwgrant: So, IHasSpecifications._all_specifications gets renamed to visible_specifications, and left exported as it is.01:04
StevenKwgrant: IMilestone._all_specifications gets renamed to something, and IHasSpecifications grows a method named the same that returns all specs01:07
wgrantStevenK: Right.01:08
StevenKwgrant: Suggestions for the 'something' ?01:20
StevenKI think ISpecificationSet._all_specifications can die horribly, since I think only two tests use it01:23
wgrantStevenK: Great02:26
StevenKHmmmmm, I don't think I can do all_specifications generically02:36
StevenKSince not all of the ISpecificationTargets have columns in specification02:36
StevenKwgrant: Will you accept I{Milestone,ProductSeries}.all_specifications which ignore privacy?02:38
wgrantStevenK: Sure02:43
StevenKForbiddenAttribute: ('set', <storm.store.ResultSet object at 0x108f6110>)02:48
StevenKI thought that was the right thing02:49
wgrantStevenK: It is, but it's dangerous so it's not exposed by IResultSet02:49
=== gary_poster is now known as gary_poster|away
StevenKwgrant: http://pastebin.ubuntu.com/5672432/02:53
wgrantStevenK: Hm, is SpecificationSet.__iter__ actually used by anything?02:55
StevenKThat's slightly harder to check02:56
wgrantYeah02:57
wgrantJust saw it in thebranch02:57
wgrantNot really relevant02:57
wgrantStevenK: That looks reasonable.02:58
StevenKI don't think it's used.02:59
StevenKBut it's hard to grep for.02:59
StevenKwgrant: I can remove it from the model and interface and claw bit a little bit of LoC and then we'll see if buildbot loves or hates it?03:01
wgrantStevenK: Maybe, but there might be webservice stuff that wants it03:06
StevenKwgrant: It's not exported03:07
StevenKAnd I don't think ISpecificationSet is either03:07
wgrantStevenK: Ah, true03:09
wgrantBugSet is special, because bugs live in the root03:09
wgrantSo yeah03:09
wgrantKill it and fix any tests that break03:09
* StevenK waits for the scanner before he re-pushes03:10
StevenKBwaha03:17
StevenKThere is one test failure, and I caused it03:18
StevenKwgrant: https://code.launchpad.net/~stevenk/launchpad/workitems-delete-series/+merge/156457 has updated03:24
wgrant273+ return list(self.context.visible_specifications) + [03:28
wgrant274+ list(milestone.getSpecifications(self.user))03:28
wgrant275+ for milestone in self.milestones]03:28
wgrantStevenK: That's going to create a list of specs and then lists of specs03:28
StevenKHmmmm03:29
wgrantStevenK: Do you need to doNotSnapshot IMilestone['all_specifications']?03:29
wgrantIProductSeries too03:29
StevenKOh, where is that?03:29
StevenKOh.03:30
StevenKwgrant: I can't just wrap the Attributes in doNotSnapshot?03:31
wgrantStevenK: You probably can, yes03:37
StevenKGah, I was hoping to come up with a elegant solution for the ProductSeriesView.specifications :-(03:39
StevenKI thought chain() could do it, but my testing isn't having much success03:41
wgrantchain is right03:41
StevenKBleh03:47
StevenKwgrant: But it isn't quite03:49
wgrantStevenK: Oh?03:52
StevenKwgrant: I can't just feed the comprehension into chain because then I can't add it to the first list03:53
StevenKAnd I'm not sure about the wisdom of the a cachedproperty returning a iterator directly03:54
wgrantStevenK: Why not? list(itertools.chain(whatever.specs, *[list of lists])03:54
wgrant)03:54
StevenKHah, which is 4 lines long anyway03:56
StevenKwgrant: And diff updated04:07
wgrantStevenK: Thanks, r=me04:10
StevenKwgrant: Do you still have objections to socket.setdefaulttimeout() for checkwatches?05:09
wgrantStevenK: Internal calls will probably override that already05:10
wgrantThough maybe not05:10
wgrantAnyway, it sounds like we have some rogue HTTP calls05:10
wgrantWhich are not just bad because they miss timeouts05:10
StevenKI couldn't see any rogue calls when I was reading xmlrpc and bugzilla externalbugtracker yesterday05:13
wgrantStevenK: We also have a traceback from one of the recent hangs, don't we?05:25
StevenKwgrant: On carob05:25
StevenKwgrant: ~hloeung/7728.txt05:28
StevenKThat looks to implicate lib/lp/bugs/externalbugtracker/xmlrpc.py (109): request, but that sets a timeout.05:28
wgrantYeah05:30
wgrantThat's what I thought05:30
wgrantSo we need to find out why that didn't work05:30
wgrantYou know...05:32
wgrantWe should take down code imports more often05:32
wgrantFrees up the build farm05:32
StevenKHaha05:32
StevenKwgrant: I do not get it.05:35
StevenKurllib2 looks fine in terms of timeout handling05:35
wgrantStevenK: Could it be hanging on squid.internal?05:36
wgrantWe don't actually get a timeout exception back05:36
wgrantSo it's possible that the TCP connection is still active, but it only makes it as far as squid.internal05:36
wgrantAll roads lead to squid.internal, as they say05:37
StevenKThe connection on loganberry was to the remote IP05:37
StevenKNot breadfruit05:37
wgrantAh, true05:37
wgrantThat's a bit upsetting05:37
StevenKwgrant: And urllib2 hasn't changed significantly between 2.6 and 2.705:39
wgrantAh06:57
wgrantI may finally have uncovered the untranslated translation credit bug.06:57
StevenKIs it another wrong LEFT JOIN? :-)06:58
wgrantNo06:58
wgrantMessage sharing, as usual :)06:58
StevenKI do not understand that checkwatches hang. Which makes me very sad.06:59
wgrantI can have rosetta make you very sad instead...06:59
StevenKIf you want me to help, sure. But you'll have to get me up to speed first. :-)07:00
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
czajkowskialoha07:15
=== wedgwood_away is now known as wedgwood
=== wedgwood is now known as Guest65596
=== wedgwood is now known as Guest36969
=== wedgwood is now known as wedgwood_away
=== wedgwood_away is now known as wedgwood
=== deryck is now known as deryck[lunch]
=== wedgwood is now known as wedgwood_away
=== deryck[lunch] is now known as deryck
=== wedgwood_away is now known as wedgwood
=== bac_ is now known as bac
=== _mup__ is now known as _mup_
=== wedgwood is now known as wedgwood_away

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