/srv/irclogs.ubuntu.com/2012/05/01/#launchpad-yellow.txt

gary_posterbac, just you and me today12:09
bacoic12:09
bacok12:09
gary_postercall as soon as you show up12:09
gary_posterno rush ;-)12:10
gary_posterback in a sec13:56
gary_posterWhenever I see "Force a build" on buildbot for some strange reason I always think "Bust a move"14:51
gary_posterbac, going to go get some lunch.  If you have something even partially working with the --load-test thing, I'd love to try it, or pair with you or something.  It will greatly help with triaging the bugs that we get more and more of, I hope.16:30
bacgary_poster: my --load-list (basic) is working now and i just completed my first test run17:10
gary_posteryay bac.  I would love to use it for help with diagnosis, whenever you have a branch I can mess with.17:45
bacok, i'll push something soon17:46
gary_postercool thanks17:46
bacgary_poster: pushed to lp:~bac/launchpad/ordered-load-list18:05
bacgary_poster: i was able to trim the test failures produced by the branch.txt ordering bug down to the 110 on the DatabaseFunctionalLayer and the failure is shown18:06
gary_posterordered-load-list: awesome, thanks bac.  writing doc for tomorrow's meeting then will return to running diagnostics for the bugs.18:06
gary_posterbranch.txt: that's one of the bugs we have on the board?18:06
gary_posterNo need to watch, but if you are interested, the doc is https://docs.google.com/a/canonical.com/document/d/1_BtI6VDHbHL5oFp8gPX8b1X9sKfK1uj1pnjFbF1a9n4/edit18:07
bacgary_poster: that's the vocabularly bug i fixed by sorting the branch names.18:07
bacthis branch, pre-fix, shows the bug cropping up with a small number of tests18:07
bacby using the new --load-list18:08
gary_posterbac, oh, interesting.  So, it is an ordering issue of some sort, and it's reproducable now.  excellent!18:08
gary_posterI suppose it does indicate a test isolation thing to investigate.  If you want to, I'd be fine with it, but I'd prefer for it to be after we dig into some of the other bugs18:09
bacok.  it has just grabbed my curiousity18:46
bachttp://pastebin.ubuntu.com/960718/18:46
bacif these five tests are run, with branch.txt last, the failure occurs.  eliminating any one of them causes the failure to not be seen.18:46
gary_posterwow18:52
gary_posterbac, if you want to be stumped, I'd prefer that you be stumped about, say, bug 992184 :-)18:53
_mup_Bug #992184: lib/lp/services/database/doc/textsearching.txt fails intermittently/rarely on parallel tests <paralleltest> <Launchpad itself:Triaged> < https://launchpad.net/bugs/992184 >18:53
bacok18:53
gary_posteras the most stumpy of the stumps I've seen lately18:54
benjithat's beautiful18:56
gary_posterlol19:02
bacgary_poster: when you have time could you review https://code.launchpad.net/~bac/launchpad/ordered-load-list/+merge/104287 ?19:53
gary_posterbac, will do it now.  My call is in 7.19:53
bacgary_poster: it'll only take you 619:53
gary_poster:-) k19:53
gary_posterbac, how odd that the old code used a list for the tests.  A set, which it created along the way, would have been much more efficient for the "in" questions, and the order appears irrelevant to me.19:56
bacgary_poster: line 16 shows the old deleted code did use a set19:57
gary_posterbac, sorted will create a list19:57
gary_posterline 36 of the diff would have been faster with a set19:58
bacgary_poster: ah, right.  both the use of the set and the sorted destroy the original ordering19:58
gary_posterright19:58
bacgary_poster: and, of course, the test suites get populated not by the order of the tests list but the order they are seen in iterate_tests(suite)19:59
bacso, basically, we can say original order was not important.  :)20:00
gary_poster:-) right20:00
gary_postermy point was simply that you were concerned about efficiency of the new approach, and the old approach was not as efficient as it could have been, even given trivial optimizations/consideration.20:01
gary_posteroh, flacoste does not appear to be around.  maybe he is at that pre-UDS meeting.  In any case, no rush there apparently. :-)20:02
gary_posterbac, I question raising an exception (lines 55-56) but I'm considering.  If I am trying to rerun tests on a new branch/revision, should it really throw up because a test is no longer around?  If it really should, it would be nicer to throw up with *all* the missing tests.  Let me see what the old code did...20:04
gary_posteryeah the old code used it as a filter20:05
gary_posterit did not puke20:05
gary_posterI'm inclined to do the same20:05
gary_posterthough could be argued otherwise, maybe20:05
gary_posterbac, if you are worried about efficiency, I think you could have a more efficient initial data structure.20:06
gary_posterrather than layers -> testnames -> suites20:07
gary_posteryou could simply have testnames -> (layer, suite)20:07
gary_posterthen you would no longer need find_layer20:08
gary_posteryou could simply do a single dict lookup20:08
gary_posterthat would probably be way way faster20:08
gary_posteralso afaict we discard ordered_layers and do nothing with it20:10
gary_posterremoving it would be a good idea20:10
gary_posterbac ^^20:10
baclooking20:10
bacyep, ordered_layers is a leftover from a previous attempt20:13
baci like the improvements you sugggest, gary_poster20:13
gary_postercool20:13
baci didn't do a time comparison but it isn't noticably slow, as is.20:13
bacwith your change it may be faster than the original...20:14
gary_posterI think it would probably still be simpler/less code in the way I suggest, at least20:14
gary_posterwhat do you think about the exception, bac?  treat the list as an ordered filter and silently ignore missing tests, or abort if things are not as we expect?20:15
gary_posterIf someone cares, they will presumably be looking at the tests that are run20:15
gary_posterI dunno20:15
gary_postercould be argued either way20:15
gary_posterthough I still incline to no exception20:15
baci think maintaining the previous behavior is the tie breaker20:17
gary_postercool20:21
gary_posterbac, I added one other note in the MP when I was summarazing our discussion:20:21
gary_poster- We should include a comment as to why the code is maintaining order, so that future code navigators will have a clue as to intent.20:21
bacok20:25
bacgary_poster: so, here are the timings for the three versions: http://paste.ubuntu.com/960961/20:32
bacwith your changes, it is minimally faster and has few LOC20:33
bac</deadhorse>20:33
gary_posterbac, :-) cool20:33
gary_posterdo you think it reads more nicely?20:33
bacyes, and the reader won't get creeped out by that awful looping find_layer20:34
gary_poster:-) cool20:34
gary_posterinteresting that the initial version was so ,uch slower20:34
gary_posterm20:34
gary_posterbac, btw, please don't lose your ideas from this morning to include an option to only run tests in the layer of a given target test.20:36
gary_posterI thought that would be interesting to experiment with, and possibly a real time saver20:37
bacgary_poster: no, i haven't forgotten.  but, i discovered it is quite easy to discover using --load-list / --list-tests in conjuction so that you can manually trim the input list20:38
bacbut making that automatic would be swell20:39
gary_posterbac, oh, what is that trick?  I don't understand yet20:39
bacbin/test --load-list in.txt --list-test > out.txt20:39
gary_posterbut what does that buy you?20:40
bacout.txt will then show the layer breaks20:40
gary_posteroh!20:40
gary_postercool20:40
gary_posterremember that trick for Friday sharing time please bac :-)20:40
bacyeah, so my itch got less itchy when i found that20:40
gary_posteryeah20:40
bac+120:40
bacthanks for the reminder...20:41
bacit's hell being clever and forgetful.  you don't get to show off.20:41
bacgary_poster: your review was just a comment, not an approve.  i've pushed the changes if you'd like to vote.20:51
gary_posterbac, cool, going20:52
gary_posterbac, all approved.  thank you!20:54
bacthx20:55

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