/srv/irclogs.ubuntu.com/2017/06/13/#juju-dev.txt

axwwallyworld: did I miss anything this morning?01:07
wallyworldaxw: not really, i can fill you in if you wanted a qick HO01:07
axwwallyworld: ok, see you at standup01:07
wallyworldwith site news etc01:07
menn0babbageclunk: ping?02:03
babbageclunkmenn0: hey02:03
menn0babbageclunk: so I think your hacked mgoprune takes care of a case which mgopurge doesn't handle (as you found)02:04
babbageclunkmenn0: ok02:04
babbageclunkmenn0: I mean, it just reports them, doesn't do any cleanup02:05
menn0babbageclunk: you were seeing Insert ops in the txns collection which didn't have a matching entry in stash - is that right?02:05
babbageclunkmenn0: they had a stash record, but that stash didn't have the txnid_nonce in txn-queue02:06
menn0hmmm ok02:06
babbageclunkmenn0: It was raising the error from flusher.go:47502:07
menn0babbageclunk: the existing PurgeMissing function goes through the stash and looks for txn-queue entries there which don't have a matching txns doc02:08
menn0babbageclunk: but this is the other way around02:08
babbageclunkmenn0: right02:09
menn0babbageclunk: I guess we should extend mgopurge to handle this02:09
babbageclunkmenn0: yeah, that was my thinking02:11
menn0babbageclunk: how did you fix the issue?02:11
babbageclunkmenn0: The bad transactions were all leadership lease updates (I think), so blahdeblah thought it made more sense to remove them.02:13
babbageclunkmenn0: so we removed the txn id from the txn-queue of the *other* record and then removed the txn record.02:13
babbageclunki.e. all of the txns were an update to one record and an insert.02:14
babbageclunkmenn0: I thought the other way to fix it was to insert the txn id into the start of the stash record that was missing it. That's probably the more general fix.02:15
babbageclunk(Although we didn't try it, so I guess we can't be sure it's actually rignt.)02:16
menn0babbageclunk: that might work but it seems riskier... I wonder if it's safer to just remove the badness02:17
babbageclunkmenn0: that was the thinking in this case, although it might not only happen with this specific type of (pretty disposable) transaction02:18
menn0babbageclunk: true... i'll have a play around02:19
blahdeblahbabbageclunk: blame me, why don't you? :-P02:21
babbageclunkmenn0: maybe the fact that we've only seen it with leadership-related transactions means it's something to do with the way we're handling them? Or maybe it's just that we have lots of them, so that's where it turns up.02:21
menn0I think it's the latter02:21
menn0babbageclunk: but it would be great to understand why these problems at all02:22
menn0happen at all02:22
menn0babbageclunk: we've never really managed to figure that out... it's either mongodb screwing up or a bug in mgo02:22
babbageclunkblahdeblah: :) I was just trying to lend the decision some weight by adding your name to it!02:22
=== akhavr1 is now known as akhavr
blahdeblahI'm not fat; my chest just slipped a bit02:38
axwwallyworld: I've found some nice low hanging fruit for reducing the number of active sessions. every agent (machine & unit) has a session open for the lifetime of the agent's connection, for logging to the db04:22
wallyworldyeah, i think it's 2 per agent?04:23
axwwallyworld: I'm thinking we might want to apply jam's idea of aggregating writes into a bulk insertion for presence here as well04:23
axwwallyworld: just 1 AFAICS04:23
wallyworldsgtm04:23
babbageclunkwallyworld, axw: seen the message about mongo replication in #juju@irc.canonical.com? Any ideas?04:34
axwbabbageclunk: I'm afraid not04:35
axwbabbageclunk: I mean I've seen it now, I don't have any good ideas04:35
jamaxw: wallyworld: "reducing the number of active sessions", is that closing the session while its active, or doing all of the rights by Cloning the one session per agent?04:37
jamaxw: wallyworld: I'd also say aggregating presence should certainly be 2.2.1 not delay 2.2rc3/2.2.004:38
wallyworldno, it won't delay04:38
wallyworldit will be 2.2.104:38
jamI'm off today for my wife's birthday, so I won't be around much04:38
wallyworldhave fun04:38
axwjam: if we aggregate, then either Copy() for the lifetime of the aggregator, or Copy() just before doing a bulk insert, and close straight after. I'm not sure which is best yet04:39
wallyworldsite looks ok atm04:39
jamaxw: I'd copy before insert, given if we bulk updating, we shouldn't have a lot of those active.04:39
jamaxw: I was trying to find a nice number for the frequency, given its a 30s window, it feels like we could batch all the way up to 1s intervals04:39
* jam goes to take the dog out04:40
axwjam: that sounds reasonable. it could be made adaptive too, i.e. insert more frequently if the incoming rate is slower04:40
* axw waves04:40
jamaxw: the other option is that we just aggregate whatever we get until the last update finishes04:41
jamso we only have 1 presence-based write at any time04:42
jamand just splat down whatever updates we've gotten since then04:42
* axw nods04:42
anastasiamacmenn0: standup?05:03
=== frankban|afk is now known as frankban
axwwallyworld: do you know if it's ok for us to merge things like https://github.com/juju/docs/pull/1910 into master? or should we wait for evilnick or someone else on the docs team to merge?07:18
axwnot sure if there's some special process, don't want to bork things07:18
wallyworldaxw: yeah, not sure. for something like that would be nice to merge07:34
axwwallyworld: ok. burton, I'll merge and we can ask for forgiveness... :)07:35
burton-ausaxw wallyworld GREAT!07:36
axwwallyworld: no rush since it won't be landing until >2.2, but https://github.com/juju/juju/pull/7496 is a prereq for a follow-up db logger session reduction PR08:40
wpk netpln--help08:54
wallyworldaxw: just getting dinner, will look after09:05
wpkwallyworld: btw, I got your message, thank you, I'm still looking for a hotel in Brisbane (but there are rooms available, I'll book something in the next few days)09:10
wallyworldwpk: great, let me know if you need any help etc. i've booked you an extra 2 nights a the venue and then monday night will be in Brisbane09:28
wpkIs there a way to check if goyaml.Unmarshal processed everything?09:42
wpkI see an error returned if there's a field of wrong type, but what about field that is in yaml but not in structure?09:42
mupBug #1697664 opened: Juju 2.X using MAAS, juju status hangs after juju controller reboot <juju-core:New> <https://launchpad.net/bugs/1697664>10:37
wpkanyone familiar with yaml.v2 ?11:50
stubwpk: Fields in the yaml and not in the structure get dropped. I think if you don't want that, you need to unmarshal to a mapping and handle it yourself.12:05
wpkstub: I added an UnmarshalStrict method and PRed12:05
wpkOther thing is that yamllint says that a list marshaled by goyaml is badly indented12:08
=== frankban is now known as frankban|afk
babbageclunkWhat's the best way to generate a lot of status updates for a model? Can I do it with juju run?23:15
babbageclunkOr do we have a charm that will do it?23:16
babbageclunkAsking for a friend.23:16
babbageclunkwallyworld, menn0: ^23:16
wallyworldbabbageclunk: you mean the hook execution?23:17
babbageclunkwallyworld: Oh, will any hook execution generate updates? So I can just use peer-xplod?23:18
wallyworldbabbageclunk: there needs to be an actual implementation of that hook to then write values23:19
wallyworldand juju only runs the hook once every 5 minutes23:19
wallyworldor are you talking about unit status history log?23:20
babbageclunkwallyworld: Hmm, that'll take too long. I guess I should make a charm that just sits in a loop updating status?23:20
wallyworldrather than unit/machine status values23:20
babbageclunkwallyworld: For the pruner it doesn't matter - just want to generate megs of updates in status history, right?23:21
wallyworldoh, i thought you were talking about status values23:21
wallyworld"status updates"23:21
wallyworldyou can always hack a charm as you suggest23:22
wallyworldor use juju run23:22
babbageclunk<squints> I don't understand the difference between status values ands status updates.23:22
babbageclunkOh, you mean the update status hook.23:23
wallyworldsorry, my brain was differentiating between what goes into the status collection vs status history collection23:23
wallyworldit's all very confusing, similar terminology23:24
babbageclunkGotcha, sorry. Yeah, I want to fill up the history so that I can QA my pruning work.23:24
wallyworldyou want to test history pruning23:24
babbageclunkI'm not really asking for a friend, that was a joke. :)23:24
wallyworldlol23:24
wallyworldi'd just do a juju run inside a bash loop?23:25
wallyworldyou can execute the status-set hook tool inside juju run23:25
babbageclunkAh, awesome - playing with that now - thanks!23:25
menn0babbageclunk: easy review please: https://github.com/juju/txn/pull/3723:37
babbageclunkmenn0: lookign23:38
babbageclunkng23:38
babbageclunkmenn0: Approved23:40
menn0babbageclunk: cheers23:42

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