thumperdavecheney: ping00:19
davecheneythumper: ack00:21
thumperdavecheney: hangout to talk about sigquit and logs?00:21
thumperdavecheney: 1:1 hangout?00:21
=== thumper is now known as thumper-afk
sinzuithumper-afk: the power test failed. My hack to run subpackages is wrong. I need to try again.01:14
davecheneythumper-afk: got the basics working01:22
davecheneythumper-afk: lucky(~/src/github.com/juju/juju/state) % ./state.test01:29
davecheney^\exiting with signal: quit01:29
davecheneylucky(~/src/github.com/juju/juju/state) % ./state.test01:29
davecheney^Cexiting with signal: interrupt01:29
davecheneymenn0, thumper-afk https://github.com/juju/juju/pull/267501:32
=== thumper-afk is now known as thumper
thumperdavecheney: ta01:56
* thumper looks01:56
davecheneylet me know if it looks sane01:57
davecheneyi did a bit of testing with the sample function supplied01:57
davecheneyi can hook and unhook functions01:57
thumperdavecheney: hangout?02:19
davecheneythumper: two secs02:24
davecheneygotta change computers02:25
davecheneythumper: i'm in the 1:102:27
thumperdavecheney: ^^03:13
* thumper is running out03:13
thumperif you are happy, please add $$merge$$ bits03:13
=== thumper is now known as thumper-afk
natefinchGood god, I just wrote 300 lines of ridiculously tedious code just so we have copies of our business logic structs in the API.  And now I have to go write tests for this crap.03:16
mwhudsonfatal error: runtime: stack split at bad time03:24
mwhudsoni think i have annoyed the go gods03:24
mwhudson(this is on arm64 though)03:24
davecheneymwhudson: excuse me, is not a good time for a stack split ?03:36
davecheneythumper-afk: LGTM03:37
davecheneyprobably will end up dumping more than we except03:37
davecheneybut we can always disable ti again03:37
mwhudsondavecheney: https://github.com/golang/go/issues/1148203:44
_thumper_for some reason the nick thumper is temporarily unavailable04:41
* _thumper_ needs to work out who to ping04:41
_thumper_sinzui: I've landed a tweak for the upgrade tests so if they timeout and get killed, we dump the logs04:42
_thumper_sinzui: so we can debug the ci failures04:42
_thumper_sinzui: how soon is the next ci run for 1.24?04:43
=== _thumper_ is now known as thumper
thumperand now we wait05:30
thumpero/ dimitern05:30
davecheneythumper: looks like your change landed05:30
thumperdavecheney: yep, on 1.24 and master05:30
thumperhopefully the next ci test run will give us more logging05:31
thumperdavecheney: actually I wonder if I can reproduce now...05:31
thumperdavecheney: as the timing is different between -check.vv and what we have done05:31
dimiternthumper, hey05:31
thumper.vv causes lots of I/O sync05:31
* thumper goes to poke the power machine05:32
davecheneythumper: all that io flushing to disk will generate a lot of scheduler churn05:35
davecheneywhat was straight line code will weave through the scheduler05:35
davecheney\o/ butterfly wings05:35
davecheneywith that said05:36
davecheneyit is rare that making a program _more_ concurrent increases it's stability05:36
thumperhmm... it appears to be passing individually05:41
* thumper tries with the whole suite05:42
* thumper sighs05:44
thumperstill seems to be passing05:44
thumperbah humbug05:44
thumperdavecheney: I love yours stress test script05:44
davecheneythat thing broke so many people's dreams05:44
thumperdavecheney: I think we should probably commit that into the tree somewhere05:44
davecheneyi've been using it for years05:45
davecheneyfor some reason GOMAXPROCS=42 (no shit)05:45
thumperso much better that a bash for loop05:45
davecheneyalways caused a set of tests to segfacult05:45
thumperthat is freaking hilarious05:45
davecheney42 insn't a prime05:46
davecheneybut 7 is one of it's factors05:46
davecheneyand that is a prime05:46
davecheneyso that's something05:46
thumperthe suite has passed heaps, then failed with mongo not coming up05:50
* thumper retries05:50
thumperdavecheney: just noticed that the stress script stops when a test fails05:50
davecheneyit's designed for tests that take seconds (cough)05:50
davecheneyso if it didn't stop, you may not notice the failure05:50
* thumper walks away again07:11
thumperdinner time07:11
fwereadeashipika, ping07:24
fwereadeashipika, was wondering if you needed any clarification re http://reviews.vapour.ws/r/1933/ -- in particular my suggestion that it feels like an operation?07:25
ashipikafwereade: hey.. yes.. some clarification would help.. :)07:44
fwereadeashipika, ok, so, we've got to the point where pretty much everythiong the uniter *does* is encapsulated in an operation07:45
fwereadeashipika, see uniter/operation07:45
ashipikafwereade:  *looking*07:45
fwereadeashipika, the idea being that the modes can decide what needs to be done07:46
fwereadeashipika, but *how* those things are done is determined elsewhere07:46
fwereadeashipika, it's not 100% clean, particularly the entanglement of operation state with operation definition07:47
fwereadeashipika, but at first blush it looked like a plausible way to keep the flushing details out of the modes07:48
ashipikafwereade: ok.. i'll have a look at operations and if i have any questions i'll come back to you.. but from what you've said i can see how this could be a good fit for an operation07:48
fwereadeashipika, (...and I hold out hopes that we'll be able to change the modes into something more isolated and comprehensible, but every little bit of extra complexity in there works against that)07:48
fwereadeashipika, ok, cool07:48
thumperfwereade: hey, I'd like a chat if you have a few minutes07:50
fwereadethumper, sure07:50
mattywfwereade, jam if one of you has 2 minutes I have a hopefully trivial request08:22
fwereademattyw, oops sorry!08:50
fwereademattyw, what can I do for you?08:50
fwereadeaxw, btw, if you're on: I'm missing a bit of context around the session-handling in state/tools.go (and a little bit in state/images.go, but that's simpler)10:06
fwereadeaxw, possibly what I'm confused about is the underlying reasons for the differences between the two?10:07
axwfwereade: I'll need to refresh state, one minute10:07
axwfwereade: I think I just realised I could do it a better way when I did the second one (image metadata), and never went back to clean up tools storage10:11
axwfwereade: AFAIR, the uses of ToolsStorage only keep ahold of it for a brief time, so the session won't become stale10:11
axwfwereade: but it would be better to just Copy and dispose inside the method call10:11
rogpeppeaxw: hiya10:46
axwrogpeppe: ahoy10:47
rogpeppeaxw: have you had anything to do with the juju user support, by any chance?10:47
axwrogpeppe: none10:47
rogpeppeaxw: ah, ok.10:47
rogpeppeaxw: darn10:47
rogpeppeaxw: :)10:47
axwrogpeppe: I think thumper10:47
rogpeppeaxw: he's never online when i am :-(10:47
axwyeah :/10:48
rogpeppeaxw: i *think* this is meant to work: http://paste.ubuntu.com/11798402/10:48
axwrogpeppe: "juju switch" doesn't seem right10:50
axwrogpeppe: that's always been for switching environments...10:50
rogpeppeaxw: i thought that a jenv file represented an environment10:51
rogpeppeaxw: (and some creds to access that environment)10:51
axwrogpeppe: ah, I see. hrm. I guess it's validating against environments.yaml? not really sure10:51
rogpeppeaxw: looks like configstore list is broken somehow10:52
rogpeppeaxw: ha10:53
rogpeppeaxw: "juju user add" writes the .jenv file to the current directory, it seems10:54
axwrogpeppe: heh :)10:54
TheMuehmpf, three disconnects in a few minutes11:51
=== tvansteenburgh1 is now known as tvansteenburgh
fwereadeaxw, still around?13:24
axwfwereade: hey, what's up?13:25
fwereadeaxw, was wondering about Unit.findCleanMachineQuery and its returned closer13:25
fwereadeaxw, it's seeming like a good idea to pass the closee in, and keep that all happening at one level13:26
fwereadeaxw, any objections?13:26
* axw looks13:26
axwfwereade: pass the closee in? pass what closee in to what? how about change findCleanMachineQuery to take a *machineDoc, and execute the query directly?13:28
fwereadeaxw, one client wants .One and one wants .All, I think13:29
axwfwereade: ah, didn't see hte other one.13:30
fwereadeaxw, but if the two clients each did their own newDB, passed that in, and closed it themselves, it might be sane?13:30
axwfwereade: oh I see. that sounds fine to me13:31
fwereadeaxw, cool, thanks, sorry mangled english in original question :)13:31
fwereadedammit, I'm not sure that makes that much sense actually, at least not without inappropriate application of secret knowledge :/13:34
fwereadeaxw, hmm. how would it be if we just made it return terms, and made the client get the machines collection itself? what's the worst that could happen re copied sessions there? we already know it's potenntially inaccurate; coudl it get apppreciably worse?13:37
axwfwereade: sounds reasonable, but how would you do the container check bit?13:56
axwfwereade: or the instance-data bit for that matter13:58
axwsounds like it'd get a bit messy13:59
axwseems like13:59
fwereadeaxw, I *think* it's less messy to just copy the session inside fCMQ for the container and instanceData checks14:00
fwereadeaxw, and defer those closes in a sane scope14:00
fwereadeaxw, and then, separately, let the clients use their own session copies to actually grab the machine, and defer *those* closes in a sane scope14:01
fwereadeaxw, given that the transactions are themselves probably running in their *own* session I don't think things will get worse14:02
ericsnowfwereade: thanks for the reviews14:02
axwfwereade: yeah, I think that'd be fine.14:04
fwereadeaxw, cool14:04
fwereadeericsnow, hope they help :)14:05
fwereadeaxw, ok, looking back at tools.go14:08
fwereadeaxw, does tools storage depend on any per-environment features? or can I just create a plain txn runner?14:09
axwfwereade: it doesn't have env-specific metadata, though it possibly should14:10
fwereadeaxw, that said I probably ought to give it an env-aware runner anyway14:10
fwereadeaxw, if it doesn't touch env bits it makes no difference having it14:11
fwereadeaxw, if it does, *not* having it makes a big difference14:11
axwfwereade: yep. I think it'd be best to pass one in if possible, to avoid later surprise14:11
axwfwereade: what are you doing anyway?14:14
axww.r.t. tools storage14:15
fwereadeaxw, getting angry about raw DB access all over the place and trying to make it impossible14:15
fwereadeaxw, or at least *harder* to do without knowing you're being bad14:15
axwfwereade: heh :)  sounds good14:16
ericsnowfwereade: you have some time to talk about state?14:23
* perrito666 is suddenly held in a very strange position in front of his computer by a back contracture14:28
fwereadeericsnow, sure, but probably best on irc right now14:29
natefinchericsnow: where were you thinking the APIClient implementation would live?15:44
natefinchericsnow: process/api/client  I assume15:45
ericsnownatefinch: right15:45
natefinchericsnow: hmm.. problematic to write the client code without the endpoint args available15:46
ericsnownatefinch: why wouldn't they be available?15:46
natefinchericsnow: can you or wwitzel3 do a quick review on the server code I PR'd?  It's super simple code.  It will probably need some tweaks once your state branch lands, but only super minimal things (like status is a string instead of a struct, etc)15:47
ericsnownatefinch: already did :)15:47
mupBug #1470150 opened: CentOS fails to bootstrap using juju 1.24 <bootstrap> <centos> <juju-core:Triaged> <juju-core 1.24:Triaged> <https://launchpad.net/bugs/1470150>15:47
natefinchericsnow: huh, weird, wonder where that email went.  Maybe I archived it by accident.  Anyway, thanks!  I'll work on that,.15:48
ericsnownatefinch: cool15:48
natefinchericsnow: LOL "TestUnregisterTransaction"   .... this is what I get for writing tests during standup ;)15:50
ericsnownatefinch: :)15:50
natefinchI hate it when I delete code and it makes my coverage percentage go down :/16:23
natefinchthat was well-tested useless code16:23
sinzuiericsnow: natefinch katco : I need help with the go test command line. I want to omit githubm.com/juju/juju/cmd/jujud from the test run (just that packge and below). I tried -run, but is don’t match on path16:24
sinzuigithub.com/juju/juju/cmd/jujud I mean16:25
katcosinzui: i don't think go test or gocheck have an exclusion flag16:27
natefinchsinzui: omission is not really supported, AFAIK16:27
katcosinzui: you just have to test only the things you care about (i.e. all the import paths)16:27
natefinchsinzui:  you'll have to do some CLI hacking.  You can do go list github.com/juju/juju to get a list of all the packages and then just run go test manually over each one except jujud16:28
sinzuikatco: natefinch I was afraid of that. I can contrive a way to test subpackages, but is gets ugly16:28
natefinchit's not actually horrible, since you're still using the go tool to get the list of packages16:29
sinzuinatefinch: yeah, that is how I disccovered that juju/juju/cmd will fail, but running the subpackages by itself themselves will pass16:29
natefinchsinzui: I remember seeing something like that a while back.  probably a cleanup issue or something16:30
sinzuinatefinch: oh is there a way to ask go test to give me a list of all the packages it finds? I could re-order such as list to that the problem ppc package it tested first16:31
katcosinzui: go list github.com/juju/juju/... |grep -v github.com/juju/juju/cmd/jujud |xargs go test16:32
natefinchsinzui: go list creates the same list that go test would16:32
=== kadams54 is now known as kadams54-away
sinzuinatefinch: thank you. This looks promising16:35
natefinch^^ katco too16:36
abentleysinzui or jog: I have two branches for review, one a prerequisite of the other: https://code.launchpad.net/~abentley/workspace-runner/s3-script/+merge/263383 https://code.launchpad.net/~abentley/workspace-runner/s3-artifacts/+merge/26338416:36
bogdanteleagahow can I test an unexported implementation of an interface? currently I'm using export_test and for a function I instantiate the type and call the method. Is there a better way?16:38
jogabentley, I'll take a look16:38
abentleyjog: Thanks.16:39
=== kadams54-away is now known as kadams54
fwereadeaxw, if you're awake you shouldn't be, but in case you are: why is image metadata in the images DB, but tools metadata in the juju db?17:01
natefinchfwereade: do we require comments on every exported field on an exported struct?17:19
=== kadams54 is now known as kadams54-away
katcoericsnow: hey, sorry, finally rolling back onto api server abstraction.18:37
katcoericsnow: i took a look at what other apiserver facades were doing to see if we could extract some commonality, but it doesn't look like there is any.18:37
ericsnowkatco: np18:37
katcoericsnow:  given we're just going to be using the standard RegisterFacade, and composing an adapter in components/all/process.go... what is the abstraction bit?18:38
ericsnowkatco: I do think we should add RegisterHookContextFacade18:38
abentleyjog, sinzui: So I get two reviews for the first branch and no reviews for the second?  Is that how it is?18:38
katcoericsnow: i haven't found anything that would make that unique18:38
ericsnowkatco: it takes care of auth18:38
jogabentley, sorry on a call18:38
sinzuiabentley: I am doing the second. I am just distracted18:39
katcoericsnow: well, different facades use auth in different ways18:39
abentleyjog, sinzui: No worries.18:39
ericsnowkatco: context hook facades (i.e. uniter) only use auth in 1 way18:39
katcoericsnow: so this entire card turns out to be creating a RegisterHookContextFacade, calling AuthUnitAgent, and that's it?18:40
ericsnowkatco: basically RegisterHookContextFacade would take care of most of the stuff that is in newUniterBaseAPI (in apiserver/uniter/uniter_base.go)18:40
katcoericsnow: there's actually not much in there aside from constructing some closures for the uniter18:41
=== kadams54 is now known as kadams54-away
fwereadenatefinch, ...not *necessarily*, but I have been finding that forcing myself to document every field has generally led only to good things19:08
natefinchfwereade: kk... I find that usually the field is pretty obvious and the comment is redundant, and just makes the struct harder to read.  Howeever, occasionally it has made a better name for the field more obvious.19:09
natefinchfwereade: and of course, sometimes a field name can't encompass all the info you need about the field19:09
fwereadenatefinch, yeah19:09
perrito666natefinch: nonsense, unles your attribute has a very java like long descriptive name, a doc is always a good thing19:10
fwereadenatefinch, I do still kinda believe in my heart that every comment is a sign the code is insufficiently clear, but I don't think that's *actually* as helpful as I wish it were :)19:11
fwereadenatefinch, perrito666: and, to be fair, I would say that while java-style naming has its squickiness, I think it's more a consequence of trying to retain clarity on large projects with lots of people working on them; and that juju has, for a while, been big enough that every little bit of bludgeoning obviousness helps19:14
natefinchperrito666: I'm with fwereade - if the name isn't clear enough, that's a problem with the code.  Comments are nice, but they shouldn't be everything... and I think that if you need to call out something about a specific field, it's actually more appropriate to do it on the comment for the struct itself.19:14
=== kadams54-away is now known as kadams54
natefinchperrito666, fwereade - it's like comments on a function - you don't comment every arg... if an argument is non-obvious, spell it out in the comment for the function.  Most of the time, most arguments and fields should be obvious, and the comments on them reflect that:  "ID is the unique id of the foo"19:16
perrito666natefinch: data structures cannot be all that expressive by themselves19:16
fwereadeperrito666, natefinch: the strongest argument against comments, ofc, is that they lie, and we're not immune to that19:16
fwereadeperrito666, I dunno, what's that quote19:16
* fwereade goes hunting19:16
perrito666fwereade: poor translation from spanish19:17
natefinchfwereade: actually, I think that the problem with comments on fields and arguments is that they're so often useless, that if one is actually USEFUL, no one will read it because they'll assume it's useless.19:17
fwereadenatefinch, perrito666: "Show me your flowcharts and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won’t usually need your flowcharts; they’ll be obvious."19:17
natefinchperrito666: I agree that comments aren't bad themselves.... but by requiring them on the vast majority of fields that *are* obvious..... you then can't see the forest for the trees19:18
perrito666natefinch: many times our structures have fields that represent something that makes sense to someone that knows a lot about juju only, and that doesnt mean that the name is unclear, only that the struct has some baggage, and given the size of the project, a comment helps there19:18
fwereadenatefinch, perrito666: again, more usually true in theory than in practice, because people write run=bbish data structures just as much as they write rubbish code19:18
TheMuetype thisStructContainsInformationAboutFilesMatchingAGivenCriteria struct { thisIsTheNameOfTheFileThatMatchedTheCriteria string ... }19:18
natefinchTheMue: so you've written java?19:19
TheMuenatefinch: one, in my dark past hours. but even then not so long identifiers19:19
fwereadenatefinch, perrito666, TheMue: the trouble is that there often *is* more meaning than can be packed into a name19:20
fwereadenatefinch, perrito666, TheMue: consider the Life fields in state19:20
fwereadenatefinch, perrito666, TheMue: they're *loaded* with subtle meaning, but everything has its own Life field19:21
natefinchWell, for that, I think that either a comment on the struct itself, or perhaps an exception to the no-comments-on-fields rule is fine.  But for the vast majority of cases, the comment on a field is just noise.19:21
TheMuefwereade: yes, where I still like comments is (a) in describing behavior, not meaning, and (b) as a kind of optical separator. with highlighting quickly blocks are identifyable19:21
natefinchfor example: https://github.com/juju/juju/blob/master/apiserver/params/actions.go#L5419:21
fwereadenatefinch, perrito666, TheMue: where do we document them? I write quite a lot of useful stuff in the doc directory, and I've tried to make a point of telling everyone to read them when they join, but...19:22
fwereadesorry, s/write/wrote/ -- I have suffered some degree of disillusionment19:22
natefinchno comments on fields... aside from the difference between Message and Status, all the fields are pretty damn obvious, and a comment is not going to help anyone.19:22
perrito666I am not all that clear, how does he know that the action is going to be completed? :p19:22
natefinchperrito666: that information should be on the struct itself or the function that uses it... not on the field.19:23
perrito666ok ok, I give up, there is a level of obviousness19:24
natefinchit also comes down to how it looks in godoc.  Field comments are in plaintext, struct and function comments are able to be styled and are therefore a lot easier to read19:24
natefinchfor example: https://godoc.org/github.com/juju/deputy#Deputy19:25
natefinchThis might be the exception to the rule, since the fields are basically 100% of what the package is about.  but even so, it's kind of hard to read.19:25
fwereadenatefinch, yeah, like so many things it's a matter of taste and judgment19:26
perrito666natefinch: Errors is a poor name for that field :p19:26
fwereadenatefinch, fwiw, I'm trying to factor some stuff into one place for state, and I've ended up with this type: http://paste.ubuntu.com/11800862/19:27
fwereadenatefinch, overcommented? perhaps19:27
fwereadenatefinch, but *useless* comments? I hope not19:27
fwereadenatefinch, and I don't know where to put them if not the struct iitself19:27
natefinchperrito666: not when used in the code: d := deputy.Deputy{ Errors: deputy.FromStderr }19:28
natefinchfwereade: I think this is like my deputy example, where there's a lot of subtlety in the fields.  Maybe this is a good use for field comments... but then again, it's really hard for me to even see what fields exist in the struct because of all the comments.  The comments might do just as well living in the struct comment, and leave the body of the struct easier to read.  I dunno.19:30
fwereadenatefinch, yeah -- it's not great, but AFAICS documenting the structs is less awful than any other approach19:31
=== kadams54 is now known as kadams54-away
natefinchfwereade: maybe for your struct, short comments per field and longer comments in the struct comment is warranted.19:33
perrito666natefinch: this is close to derive in an editor war19:35
natefinchperrito666: is derive an editor?19:37
mupBug #1455623 opened: TestPingCalledOnceOnlyForSeveralWorkers fails <ci> <intermittent-failure> <test-failure> <juju-core:Triaged> <juju-core 1.23:Triaged> <juju-core 1.24:Triaged> <https://launchpad.net/bugs/1455623>19:37
perrito666lets suppose I want to do something for command line like juju deploy --flag foo=afoo bar=abar beh=beh, what would be the better syntax? (or does gnuflag support multiple --flag?19:37
perrito666natefinch: was that a joke? I am unsure19:38
natefinchperrito666: not a joke.  I could google for it, I suppose19:38
waiganifwereade: thanks for email. I replied but I'm not sure if it sent, my client is playing up (can't see it in sent box), did you get it?19:39
perrito666natefinch: apparently some of my english is outdated19:39
perrito666says the dict19:39
perrito666archaic :  bring19:39
natefinchperrito666: sorry, the way it was used, it sounded like derive was an editor.... I never know what wacky editors people use.  if sublime can be an editor, why not derive?  :)  Sorry for the misunderstanding.19:40
perrito666derive was an old math sofware for windows 3.119:42
natefinchperrito666: make flag work like constraints --constraints "foo=bar baz=bat"19:42
perrito666ah, that is nice, thx19:42
mupBug #1470220 opened: Juju-deployer incorrectly reporting errors in juju 1.24.0 environment <juju-core:New> <juju-deployer:New> <juju-gui:New> <https://launchpad.net/bugs/1470220>19:58
fwereadewaigani, yeah, I saw it, thanks for the quick response20:07
waiganifwereade: ah phew. np.20:10
natefinchericsnow: you mentioned I should also add the code for registering this in component/all/process.go ... but I'm not really sure what that code should look like.20:27
ericsnownatefinch: take a look at what's there already; it should be similar20:28
katconatefinch: http://pastebin.ubuntu.com/11801171/20:29
ericsnownatefinch: basically a call to RegisterStandardFacade (or whatever) in registerHookContext20:29
natefinchkatco, ericsnow: thanks :)20:29
ericsnownatefinch: could you take another look at http://reviews.vapour.ws/r/1996/?20:33
ericsnownatefinch: I'd really like to get that landed20:33
ericsnownatefinch: looks like your conversion helpers (API2Proc, etc.) did not make it into your latest patch20:36
natefinchericsnow: doh, yeah, new file. Stupid git20:44
ericsnownatefinch: I figured :)20:44
natefinchericsnow: http://reviews.vapour.ws/r/2061/diff/2-3/20:54
ericsnownatefinch: doc comments on API helpers...20:56
=== kadams54 is now known as kadams54-away
ericsnownatefinch: otherwise looks good :)20:57
natefinchericsnow: ahh yeah, had to export them so now have to comment them, damn20:58
ericsnownatefinch: yeah, sorry20:58
sinzuithumper: this is the only issue unique to wily and vivid. fixing https://bugs.launchpad.net/juju-core/+bug/1468349 will grealy increase chances of a pass21:55
mupBug #1468349: discoverySuite.TestDiscoverServiceLocalHost: invalid series for wily and vivid <test-failure> <unit-tests> <wily> <juju-core:Triaged> <https://launchpad.net/bugs/1468349>21:55
thumpersinzui: cheers22:10
thumpersinzui: I can replicate the singular intermittent failure locally22:32
* thumper is on it22:32
thumpersinzui: I have a fix for the singular worker23:04
thumperthanks to davecheney's stress script23:04
thumperweird time.Timer behaviour, but fix works23:04
thumperwaigani_, cherylj: http://reviews.vapour.ws/r/2066/diff/#23:07
thumperas on call reviewers :)23:07
thumpernote: the interval := PingInterval call is probably not strictly necessary, but I did it initially when the calls were separated, and I wanted to make sure the value wasn't changing outside that go routine23:08
thumperso it only used the local value23:08
thumperit wasn't changing, but the isolation is still there23:08
* thumper thinks23:08
* thumper removes it23:09
thumpermenn0: http://reviews.vapour.ws/r/2066/diff/#23:10
menn0thumper: looking23:11
* menn0 is glad to have something to distract him from the woeful situation he is looking at23:11
waigani_thumper: I'm assuming you manually tested the fix and the intermittent failures are gone?23:22
thumperwaigani_: sure as eggs23:22
waigani_thumper: lgtm23:22
mwhudsondavecheney: hey, have you tried to build/run juju with the go arm64 port yet?23:41

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