StevenK | wgrant: http://pastebin.ubuntu.com/5669749/ | 00:35 |
---|---|---|
wgrant | StevenK: Having an _ method on an interface makes even less sense than having it in configure.zcml. | 00:41 |
wgrant | StevenK: If you really need to access it from outside, particularly through a proxy, it should not be private. | 00:41 |
StevenK | wgrant: I don't want to rename it because then I have to re-grow the _getSpecifications method | 00:42 |
wgrant | StevenK: Why? | 00:43 |
wgrant | We control both sides of the code | 00:43 |
wgrant | We can rename it on both | 00:43 |
wgrant | ez | 00:43 |
StevenK | But the ProductSeries is via IHasSpecifications, which has far wider impacts. | 00:44 |
wgrant | StevenK: Er | 00:45 |
wgrant | StevenK: IHasSpecifications contains _all_specifications? | 00:46 |
wgrant | wtf, so it does | 00:46 |
StevenK | Yes | 00:46 |
wgrant | wtf | 00:46 |
StevenK | And it's exported | 00:46 |
StevenK | So we're stuck with it | 00:46 |
wgrant | It's exported without _ | 00:47 |
wgrant | exported_as="all_specifications", as_of="devel") | 00:47 |
wgrant | Also, why is that exported :/ | 00:47 |
StevenK | So it's _all_specifications for beta and 1.0 ? | 00:47 |
wgrant | Sigh | 00:47 |
wgrant | No | 00:47 |
wgrant | Blueprints aren't exported at all before devel | 00:47 |
StevenK | Ah | 00:48 |
wgrant | What do people have against sensible search methods? | 00:48 |
StevenK | So which one of us is going to check appserver logs for all_specifications? :-) | 00:48 |
wgrant | It's going to be used | 00:48 |
wgrant | Because there's no specification search method AFAICT | 00:48 |
StevenK | search_specifications | 00:48 |
wgrant | Not on the API | 00:49 |
StevenK | Right | 00:49 |
wgrant | Also note that the fact it's exported means that you can't change it to actually return all specifications | 00:49 |
wgrant | It has to use LaunchBag to get the user | 00:49 |
wgrant | So perhaps create a new method _SERIOUSLY_PEOPLE_THINK_ABOUT_IT_BEFORE_YOU_EXPORT_SOMETHING_all_specifications | 00:50 |
wgrant | And export that instead | 00:50 |
StevenK | Hahaha | 00:52 |
StevenK | wgrant: So, IHasSpecifications._all_specifications gets renamed to visible_specifications, and left exported as it is. | 01:04 |
StevenK | wgrant: IMilestone._all_specifications gets renamed to something, and IHasSpecifications grows a method named the same that returns all specs | 01:07 |
wgrant | StevenK: Right. | 01:08 |
StevenK | wgrant: Suggestions for the 'something' ? | 01:20 |
StevenK | I think ISpecificationSet._all_specifications can die horribly, since I think only two tests use it | 01:23 |
wgrant | StevenK: Great | 02:26 |
StevenK | Hmmmmm, I don't think I can do all_specifications generically | 02:36 |
StevenK | Since not all of the ISpecificationTargets have columns in specification | 02:36 |
StevenK | wgrant: Will you accept I{Milestone,ProductSeries}.all_specifications which ignore privacy? | 02:38 |
wgrant | StevenK: Sure | 02:43 |
StevenK | ForbiddenAttribute: ('set', <storm.store.ResultSet object at 0x108f6110>) | 02:48 |
StevenK | I thought that was the right thing | 02:49 |
wgrant | StevenK: It is, but it's dangerous so it's not exposed by IResultSet | 02:49 |
=== gary_poster is now known as gary_poster|away | ||
StevenK | wgrant: http://pastebin.ubuntu.com/5672432/ | 02:53 |
wgrant | StevenK: Hm, is SpecificationSet.__iter__ actually used by anything? | 02:55 |
StevenK | That's slightly harder to check | 02:56 |
wgrant | Yeah | 02:57 |
wgrant | Just saw it in thebranch | 02:57 |
wgrant | Not really relevant | 02:57 |
wgrant | StevenK: That looks reasonable. | 02:58 |
StevenK | I don't think it's used. | 02:59 |
StevenK | But it's hard to grep for. | 02:59 |
StevenK | wgrant: 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 |
wgrant | StevenK: Maybe, but there might be webservice stuff that wants it | 03:06 |
StevenK | wgrant: It's not exported | 03:07 |
StevenK | And I don't think ISpecificationSet is either | 03:07 |
wgrant | StevenK: Ah, true | 03:09 |
wgrant | BugSet is special, because bugs live in the root | 03:09 |
wgrant | So yeah | 03:09 |
wgrant | Kill it and fix any tests that break | 03:09 |
* StevenK waits for the scanner before he re-pushes | 03:10 | |
StevenK | Bwaha | 03:17 |
StevenK | There is one test failure, and I caused it | 03:18 |
StevenK | wgrant: https://code.launchpad.net/~stevenk/launchpad/workitems-delete-series/+merge/156457 has updated | 03:24 |
wgrant | 273+ return list(self.context.visible_specifications) + [ | 03:28 |
wgrant | 274+ list(milestone.getSpecifications(self.user)) | 03:28 |
wgrant | 275+ for milestone in self.milestones] | 03:28 |
wgrant | StevenK: That's going to create a list of specs and then lists of specs | 03:28 |
StevenK | Hmmmm | 03:29 |
wgrant | StevenK: Do you need to doNotSnapshot IMilestone['all_specifications']? | 03:29 |
wgrant | IProductSeries too | 03:29 |
StevenK | Oh, where is that? | 03:29 |
StevenK | Oh. | 03:30 |
StevenK | wgrant: I can't just wrap the Attributes in doNotSnapshot? | 03:31 |
wgrant | StevenK: You probably can, yes | 03:37 |
StevenK | Gah, I was hoping to come up with a elegant solution for the ProductSeriesView.specifications :-( | 03:39 |
StevenK | I thought chain() could do it, but my testing isn't having much success | 03:41 |
wgrant | chain is right | 03:41 |
StevenK | Bleh | 03:47 |
StevenK | wgrant: But it isn't quite | 03:49 |
wgrant | StevenK: Oh? | 03:52 |
StevenK | wgrant: I can't just feed the comprehension into chain because then I can't add it to the first list | 03:53 |
StevenK | And I'm not sure about the wisdom of the a cachedproperty returning a iterator directly | 03:54 |
wgrant | StevenK: Why not? list(itertools.chain(whatever.specs, *[list of lists]) | 03:54 |
wgrant | ) | 03:54 |
StevenK | Hah, which is 4 lines long anyway | 03:56 |
StevenK | wgrant: And diff updated | 04:07 |
wgrant | StevenK: Thanks, r=me | 04:10 |
StevenK | wgrant: Do you still have objections to socket.setdefaulttimeout() for checkwatches? | 05:09 |
wgrant | StevenK: Internal calls will probably override that already | 05:10 |
wgrant | Though maybe not | 05:10 |
wgrant | Anyway, it sounds like we have some rogue HTTP calls | 05:10 |
wgrant | Which are not just bad because they miss timeouts | 05:10 |
StevenK | I couldn't see any rogue calls when I was reading xmlrpc and bugzilla externalbugtracker yesterday | 05:13 |
wgrant | StevenK: We also have a traceback from one of the recent hangs, don't we? | 05:25 |
StevenK | wgrant: On carob | 05:25 |
StevenK | wgrant: ~hloeung/7728.txt | 05:28 |
StevenK | That looks to implicate lib/lp/bugs/externalbugtracker/xmlrpc.py (109): request, but that sets a timeout. | 05:28 |
wgrant | Yeah | 05:30 |
wgrant | That's what I thought | 05:30 |
wgrant | So we need to find out why that didn't work | 05:30 |
wgrant | You know... | 05:32 |
wgrant | We should take down code imports more often | 05:32 |
wgrant | Frees up the build farm | 05:32 |
StevenK | Haha | 05:32 |
StevenK | wgrant: I do not get it. | 05:35 |
StevenK | urllib2 looks fine in terms of timeout handling | 05:35 |
wgrant | StevenK: Could it be hanging on squid.internal? | 05:36 |
wgrant | We don't actually get a timeout exception back | 05:36 |
wgrant | So it's possible that the TCP connection is still active, but it only makes it as far as squid.internal | 05:36 |
wgrant | All roads lead to squid.internal, as they say | 05:37 |
StevenK | The connection on loganberry was to the remote IP | 05:37 |
StevenK | Not breadfruit | 05:37 |
wgrant | Ah, true | 05:37 |
wgrant | That's a bit upsetting | 05:37 |
StevenK | wgrant: And urllib2 hasn't changed significantly between 2.6 and 2.7 | 05:39 |
wgrant | Ah | 06:57 |
wgrant | I may finally have uncovered the untranslated translation credit bug. | 06:57 |
StevenK | Is it another wrong LEFT JOIN? :-) | 06:58 |
wgrant | No | 06:58 |
wgrant | Message sharing, as usual :) | 06:58 |
StevenK | I do not understand that checkwatches hang. Which makes me very sad. | 06:59 |
wgrant | I can have rosetta make you very sad instead... | 06:59 |
StevenK | If 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 | ||
czajkowski | aloha | 07: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!