/srv/irclogs.ubuntu.com/2011/06/01/#ubuntu-ensemble.txt

SpamapS2011-05-31 16:17:46,019 ERROR Formula %r is the latest revision known00:17
SpamapSDOH00:18
SpamapSHeh.. munin really is too much for a t1.micro. :-/00:22
SpamapShttp://ec2-50-16-148-122.compute-1.amazonaws.com/munin/00:23
SpamapSmmmmmm... graphs00:23
SpamapShazmat: hit the problem again. :(00:51
bcsallerSpamapS: nice graphs :)00:57
SpamapSbcsaller: I'm besieging the cluster righ tnow.... about to get more interesting! :)01:00
bcsallerpress record :)01:00
SpamapStop - 00:00:59 up  6:56,  1 user,  load average: 12.00, 4.46, 1.6501:01
SpamapS2011-05-31 16:59:30,485 provision:ec2: ensemble.agents.provision INFO: Starting machine id:11 ...01:01
SpamapSbcsaller: I'm thinking of writing a "test monster" formula that will crawl and try to destroy a website.. :)01:01
bcsallerterrifying 01:02
SpamapSblammo.. load drops to 4 new box up01:02
SpamapSI also wonder if my t1.micro's are getting throttled01:02
SpamapSmight be interesting to reboot a few as c1.medium 01:03
SpamapShmm. I really should be hitting the 10.x address so I can just leave this running all night. ;)01:04
hazmatSpamapS, do you have the relation hook installing munin-node?01:31
SpamapShazmat: yes01:31
SpamapShazmat: will have to discuss later, super late heading out the door.. :-P01:32
SpamapShazmat: any tips though, let me know I'll give it a shot01:32
hazmatSpamapS, me too.. cheers01:32
hazmatSpamapS, i have to rebuild the txzk packages to get that fix pushed out.. i'll have a look at it in the morning01:32
_mup_ensemble/expose-provision-service-hierarchy r255 committed by jim.baker@canonical.com03:03
_mup_Updated watch_exposed_flag (about to be moved into separate branch)03:03
_mup_ensemble/expose-watch-exposed-flag r240 committed by jim.baker@canonical.com03:05
_mup_Changes to watch_exposed_flag moved from expose-provision-service-hierarchy03:05
_mup_ensemble/expose-provision-service-hierarchy r256 committed by jim.baker@canonical.com03:09
_mup_Removed watch_exposed_flag changes in this branch03:09
_mup_ensemble/expose-provision-service-hierarchy r257 committed by jim.baker@canonical.com03:10
_mup_Merged in expose-watch-exposed-flag branch03:10
_mup_ensemble/expose-provision-service-hierarchy r258 committed by jim.baker@canonical.com03:20
_mup_Nonexistent service terminates corresponding watch on exposed flag03:20
_mup_ensemble/expose-provision-service-hierarchy r259 committed by jim.baker@canonical.com03:23
_mup_PEP8, removed unnecessary debug statements03:23
_mup_ensemble/expose-provision-service-hierarchy r260 committed by jim.baker@canonical.com04:27
_mup_Better docstrings + cleanup04:27
_mup_Bug #791035 was filed: removed formula components are not cleaned up when upgrading <Ensemble:New> < https://launchpad.net/bugs/791035 >05:13
_mup_Bug #791042 was filed: *-relation-broken has no way to identify which remote service is being broken <Ensemble:New> < https://launchpad.net/bugs/791042 >05:38
kim0ERROR Formula %r is the latest revision known13:42
kim0Is %r supposed to be substitued for by something 13:42
kim0anyone around today14:04
niemeyerGood morning all!14:15
kim0Morning :)14:19
niemeyerkim0: Hey!14:21
* kim0 trying to write a new formula14:33
kim0hmm .. in debug-hooks, # relation-list --format json14:35
kim0why am I getting   No ENSEMBLE_AGENT_SOCKET/-s option found14:35
hazmatkim0, are you in the window that popped up for the hook or just the default terminal?14:38
hazmatre debug14:38
kim0the one that poped14:38
hazmatkim0, if you do ENV | grep ENSEMBLE what do you see?14:39
hazmater. env14:39
kim0sorry, I had closed the window .. perhaps I shouldn't have14:39
hazmatkim0, no worries, if it happens again let me know, i'd be happy to take a look14:40
kim0hazmat: does debug-hooks execute the hook + give me shell, or just shell14:40
hazmatkim0, hook + shell14:40
hazmatthe interactive shell replaces the hook execution14:40
hazmatthe exit of the shell is the considered the exit of the hook14:40
kim0so the original hook script is NOT executed14:41
hazmatkim0, correct14:41
niemeyerhazmat: Good morning14:42
* hazmat is on his 3rd unity reboot of the last 24hrs.14:42
hazmatniemeyer, g'morning14:42
niemeyerhazmat: From the logs, it looks like SpamapS got the same issue again last night14:42
hazmatniemeyer, he did, i did a fix for the top level symptom which is committed on txzookeeper trunk14:43
hazmatniemeyer, i'm still tracking down in the zookeeper client where/why the event occurs, its a session event14:43
hazmatso it hits all the watchers extant14:43
niemeyerhazmat: I'm not sure that really fixes it.. right.. it's a session timeout, so it'll continue breaking14:43
hazmatniemeyer, indeed14:44
niemeyerhazmat: Btw, the quotes were inconsistent, but that's minor14:44
hazmatniemeyer, i'm wondering if we need some lower level bookeeping in txzk client to be able to attach a handler for session events, what's unclear to me atm is if its a session expired scenario or not ( ie. recreate all watches and ephemerals)14:45
niemeyerhazmat: Is the session issue happening before or after the already called error?14:45
hazmatbefore14:45
niemeyerhazmat: SpamapS said something about a micro machine being too small for whatever he was doing.. it may just be locked up completely for so long that it times out14:46
hazmatniemeyer, yeah.. i think we need to up our session timeout values on the zk server, there's a faq on this for ec214:46
hazmatand the latencies inherent in that environment14:47
niemeyerhazmat: Sounds good, if he's able to reproduce it easily, it would be good to try again under more controlled conditions14:47
hazmatbut that doesn't excuse that we need some handling for this behavior14:47
niemeyerhazmat: Indeed14:47
niemeyerhazmat: In gozk, I redirect session events to a specific channel14:47
hazmatniemeyer, yeah.. i'm going to try and reproduce via manipulation of the ec2 firewall on the bootstrap node14:48
niemeyerhazmat: and as an experiment, I'm panicing the application if the session event isn't handled in a given amount of time14:48
hazmatniemeyer, yeah.. that's basically along the lines of what i was thinking for txzk14:48
niemeyerhazmat: IOW, if the app isn't acknowledging the fact a session event happened14:48
hazmatuse a dedicated session event handler, and route those events there.14:48
hazmatwe'd also need to track the outstanding watches if we want to reduce the redunancy from the zk c client14:48
niemeyerhazmat: Either way, we'll likely have to kill all the running callbacks14:48
hazmatwhich notifies on all watchers14:48
kim0hmm, why does relation-list only result in  ["mysql/0"]  (no database, user, password ) ..etc This is in db-relation-changed second invocation14:49
niemeyerkim0: That's the relation name, not really what you want14:49
niemeyerkim0: Check relation-get14:49
hazmatniemeyer, it depends.. does it mean the session is expired.. or not14:49
niemeyerhazmat: I think the only thing coming through those channels is up/down notes14:49
niemeyerhazmat: But it'd be worth double checking14:50
kim0relation-get - --format json  results in {}14:50
niemeyerkim0: That means the other side hasn't relation-set anything14:50
kim0facing this consistently for the past hour .. I used remove-relation and add-relation many times14:50
kim0the other side is mysql from examples14:50
niemeyerkim0: Hmm14:51
kim0should I login and check if a DB has been created for my instance (drupal) ?14:51
hazmatkim0, if your debugging both sides interactively14:51
kim0just one side14:51
hazmatthe values aren't flushed for the remote to see till the hook/debug is ended14:51
hazmater. the debug window for the hook is ended14:52
kim0hazmat: I'm not debugging mysql side, so that shouldn't be a problem corrrect14:52
niemeyerkim0: Kind of..14:52
niemeyerkim0: Try logging out and in again, just to try it out14:52
niemeyerkim0: From the debug-hook session14:52
hazmatkim0, are you in the relation join event or the changed event?14:52
kim0hazmat: in "changed" in its 2nd invocation14:52
hazmatkim0, hmm. that sounds like the right place then14:53
kim0yeah and I've waited for mysql to create its stuff14:53
niemeyerkim0: Try logging out and in14:53
niemeyerkim0: From the debug session14:53
kim0ok14:53
niemeyerkim0: and then do the relation-get14:53
niemeyerOh, I think there's a bug, now that you mention it..14:54
kim0niemeyer: so I closed the screen window14:54
kim0opening it again14:54
niemeyerkim0: Yeah, I suspect it won't work14:54
niemeyerkim0: Our example is doing some magic it shouldn't14:54
kim0niemeyer: so I should kill mysql and start a new one ?14:55
niemeyerkim0: Follow with me so that you can actually fix it and try again14:55
kim0ok14:55
niemeyerkim0: Go to the mysql formula, and look at the joined hook14:55
kim0opened14:56
niemeyerkim0: You see that check under the comment # Determine if ...14:56
kim0yeah14:56
niemeyerkim0: You see, it's bumping out of the hook if the _service_ already has a database created14:57
kim0which makes sense to me ?!14:57
kim0what's the problem14:57
kim0ah14:57
niemeyerkim0: The problem is that it bumps out without ever letting the _relation_ to know of the settings14:57
kim0so it's not relation-set'ing14:57
niemeyerkim0: yep14:57
kim0got it14:57
kim0doh14:58
kim0but it must have relation-set'ed the first time14:58
kim0is that lost ?14:58
niemeyerkim0: If you 14:58
niemeyerkim0: Lost?14:58
kim0why is the relation-set from first time not available ? 14:58
niemeyerkim0: Oh, yeah, it seems to be14:58
kim0ok14:58
hazmatif the service name is reused14:58
kim0I've just been remove-relation and add-relation14:58
hazmatie relate worpdress mysql.. destroy wordpress, recreate wordpress and relate14:59
niemeyerhazmat: Ugh.. that's bad14:59
hazmatyeah.. i'm not sure this was a problem before with the mysql formula14:59
niemeyerhazmat: The service name is not being "reused".. the service is still around14:59
hazmatkim0, are you using the example or principia?14:59
kim0hazmat: example14:59
niemeyerhazmat: It's just another relation15:00
hazmatniemeyer, yes.. its another relation, but the association to the same related service name in the db is still present15:00
niemeyerhazmat: Yes, but we shouldn't destroy the database like that no matter what15:00
hazmati think the principia (based on the original python) doesn't have this issue15:01
hazmatyeah.. it doesn't15:01
hazmatthis is a bug in the mysql formula15:01
hazmatin the examples directory15:02
hazmatthe original python one would just skip the db creation, but still set the credentials.. the shell script one exits the hook if the db is already present without setting credentials15:02
hazmatiotw. the principia mysql formula should work fine here15:03
kim0ok I'll destroy everything and start again15:03
niemeyerkim0: Thanks for brining this up, we'll have to fix the example somehow15:06
niemeyerhazmat: This is another use case for having a name for the actual relation15:06
niemeyerhazmat: Or, an identifier15:06
hazmatniemeyer, you mean a generated name?15:06
niemeyerhazmat: The identifier we talked about before15:07
niemeyerhazmat: relation-N15:07
hazmatright.. to prevent anon relations15:07
hazmatand make them addressable15:07
niemeyerhazmat: Yeah.. this would be the right thing to use in this case15:07
niemeyerrather than the service name15:07
niemeyerthen the logic would be right15:07
niemeyer"If a database name with the relation name already exists, stop, otherwise create it and set the info"15:08
niemeyerBut, one thing at a time15:08
niemeyerhazmat: What's your plan for the session issue?15:08
hazmatdebatable, we've allowed service names to be reusable (as opposed to unit names), so the question is are there scenarios where a service would want to pickup a previously set up database (a/b upgrades perhaps).. fwiw. the logic was right before it was rewritten.. given that we do need relation names to make them addressable in other context that seems like a good choice15:10
hazmatniemeyer, setup a test environment and manipulate the firewall and zk server to reproduce15:10
hazmatmight need to send an email to the list as well, i've seen some contradictory information in regards to this15:11
hazmatniemeyer, have a look at http://zookeeper-user.578899.n2.nabble.com/watcher-semantics-for-session-events-in-the-C-client-td6206081.html15:11
niemeyerhazmat: The right thing wouldn't be to give the same database for all relations15:11
niemeyerhazmat: So the original one wasn't proper either15:12
hazmatthe watches aren't freed after the session event by the client15:12
hazmatniemeyer, working vs. proper15:12
niemeyerhazmat: ?15:12
hazmatniemeyer, it worked in this exact scenario15:12
hazmatyou can add/remove relations all day with the original, and the remote service will get the correct credentials and events15:13
niemeyerhazmat: Ok, there are several things we might that that would work15:13
niemeyerhazmat: I'm trying to figure how we should actually solve this issue15:13
hazmatniemeyer, which issue session or relation?15:13
niemeyerhazmat: Both :)15:13
hazmatwell that clarifies ;-)15:13
niemeyerhazmat: So.. for relation I'll file a bug15:13
niemeyerhazmat: Let's put it aside for now15:13
hazmatniemeyer, sounds good15:14
niemeyerhazmat: Interesting indeed15:16
niemeyerhazmat: (the link)15:16
hazmatniemeyer, so the ppa will auto update with the new package for txzk since there was a merge to trunk?15:17
hazmatoh.. i need to increment the version i think15:18
niemeyerhazmat: It will, but it will be daily15:18
niemeyerhazmat: No15:18
hazmatah.. its got the revno on it15:18
niemeyerhazmat: It will use the revision from the repo15:18
hazmatniemeyer, can those builds be triggered by hand?15:18
hazmatyup.. i see it now.. okay requested a rebuild of txzk15:19
niemeyerhazmat: When you want to bump up due to a change you've done recently, go to the recipe page, and click on the button15:19
hazmatwow.. the build wait time is much better now15:19
hazmat4-8m 15:19
hazmatis much better than 12-36hrs15:20
niemeyerhazmat: Btw, it's good to check if your revision isn't already built15:20
niemeyerhazmat: It was, in this case15:20
niemeyertxzookeeper - 0.2.1-0ensemble38~oneiric115:20
niemeyerhazmat: That 38 is the revno, which is the tip atm15:21
hazmatniemeyer, ah good point15:21
niemeyerhazmat: Don't use "Request build", in general15:21
niemeyerhazmat: When there is a revno unprocessed, there will be a button at the top, right below "Build schedule"15:22
hazmatic15:22
niemeyerhazmat: https://bugs.launchpad.net/ensemble/+bug/79137015:36
_mup_Bug #791370: We need a relation identifier for hooks <Ensemble:New> < https://launchpad.net/bugs/791370 >15:36
_mup_Bug #791370 was filed: We need a relation identifier for hooks <Ensemble:New> < https://launchpad.net/bugs/791370 >15:36
niemeyerWe should address this sooner rather than later15:36
hazmatniemeyer, more immediately the formula should probably be fixed as well15:36
niemeyerhazmat: It depends a bit on how long we take to get to it15:37
niemeyerhazmat: E.g. if Ben is available today, it might be a good brain-break task15:37
niemeyerI've assigned the bug to him15:39
niemeyerHah, just in time for bcsaller to be unable to say no!15:40
bcsalleroh no15:40
hazmatniemeyer, ;-) here's the diff https://pastebin.canonical.com/48037/15:40
bcsallerwhat did I walk into?15:40
hazmatbcsaller,  a bug in the example mysql formula15:41
niemeyerbcsaller: https://launchpad.net/bugs/79137015:41
_mup_Bug #791370: We need a relation identifier for hooks <Ensemble:Confirmed for bcsaller> < https://launchpad.net/bugs/791370 >15:41
niemeyerhazmat: How does that solve anything?15:41
hazmatbcsaller, and more generically identifiers for relations15:41
hazmatniemeyer, it allows the formula to work in if add/remove relation is used or the service is destroyed and recreated15:42
niemeyerhazmat: How so?15:42
hazmatoh.. i need to remove the exit 0 as well15:42
hazmatniemeyer, it will setup credentials for the service and set them on the relation always this way15:43
niemeyerhazmat: Ahhhh, yeah, if you fix it, maybe ;-)15:43
hazmatniemeyer, can i get a +1  on the updated trivial https://pastebin.canonical.com/48038/15:44
niemeyerhazmat: So it'll use a different user per relation?15:44
hazmatniemeyer, yes15:44
niemeyerhazmat: Cool15:44
hazmathmmm.. i wonder what the original did here15:45
niemeyerhazmat: +1 if you test it :-)15:45
hazmatthis doesn't seem right either15:46
hazmatit shouldn't be resetting the identity every time on join15:46
hazmatit should be checking for the value on the relation15:46
niemeyerYeah, indeed15:46
hazmatniemeyer, oddly though the original (in principia) did this.. and it worked15:47
hazmatfor scaling mediawiki15:47
hazmatbut i take that  as some mysql aberation15:47
niemeyerhazmat: Apparently we didn't test non-trivial scenarios, though15:47
niemeyerhazmat: Well, or maybe you did with the old one15:48
hazmati did with the old one.. but i still wonder about this 15:48
_mup_Bug #791382 was filed: Session events are not being handled properly <Ensemble:Confirmed for hazmat> < https://launchpad.net/bugs/791382 >15:57
niemeyerLunch time, biab.16:01
SpamapSHmm..16:35
SpamapSso scrolling back a bit..16:35
SpamapSthe principia formula right now uses a flag file to know whether or not the relationship has been broken..16:35
SpamapSIf its been broken, then it creates a new user16:36
SpamapSlp:~ensemble-composers/principia/oneiric/mysql/trunk btw16:36
SpamapShazmat: re the munin server, I had it happen yet again after a full shutdown/bootstrap.. and I tracked it down to heavy network + CPU. When munin was doing its updates and I would add or remove relations, the problem would happen.16:47
SpamapShazmat: so I think your hunch is correct that we probably need to think about longer timeouts for ZK16:47
_mup_ensemble/expose-provision-service-hierarchy r261 committed by jim.baker@canonical.com17:03
_mup_Tests verifying all service units are 'checked' upon destroying a service or unexposing it17:03
_mup_ensemble/expose-provision-service-hierarchy r262 committed by jim.baker@canonical.com17:14
_mup_Doc strings17:14
_mup_ensemble/expose-provision-service-hierarchy r263 committed by jim.baker@canonical.com17:22
_mup_Removed debug logging output17:22
niemeyerYo17:38
SpamapShrm.. augeas lenses have murky copyrights17:39
* SpamapS is starting to develop copyright policies for formulas17:39
kim0yuck17:40
SpamapSYeah17:40
niemeyerSpamapS: What, seriously?17:40
niemeyerSpamapS: What's the copyright like?17:40
SpamapSI'm surprised that augeas was allowed into Debian w/ such an inaccurate copyright file17:40
SpamapSthe copyright file claims that it is Copyright 2007, 2008 Red Hat Inc.17:41
SpamapSbut that copyright is only in the man pages and tests17:41
SpamapSmost of it is clearly Copyright 2007-2010 David Lutterkort17:41
SpamapSAnd the lenses have almost no copyrights specified, and there is no blanket copyright specification17:41
SpamapSthe *license* is very clearly LGPL-2.117:42
SpamapSbut most people seem to get Copyright wrong.17:42
kim0Does the released column on https://ensemble.ubuntu.com/kanban/dublin.html refer to released in past week ?17:43
hazmatSpamapS, it doesn't need to check a flag file, the relation is different if its broken, just checking for the value should do the trick17:43
hazmatkim0, roughly.. everything since the last milestone, its cumulative. the milestone started roughly right after uds17:43
SpamapShazmat: well my point was simply that the database name should remain the same, as we want to preserve the data most of the time.17:44
hazmatSpamapS, ah.. indeed17:44
* kim0 rings a little shiny bell17:44
SpamapSI actually think even better would simply be to check for the existence of the user.. since I'm also revoking the user perms on broken17:45
kim0Let's have our irc meeting in 1:15 hours17:45
kim0Things to talk about 17:45
kim0- Creating the principia distribution and principia-tools project17:45
kim0- The Ensemble ppa being up17:45
kim0- Plus any recent development done17:45
SpamapSkim0: I'm going to miss it unfortunately.. have to take child to doctor. But next time!17:45
kim0oh it would have been nice to have you on this one .. 17:45
kim0no problem though17:45
SpamapSYes.. definitely.  :(17:46
SpamapSjust found out about it about 15 min ago17:46
kim0SpamapS: all the best to our little sick friend17:46
SpamapSHe's fine.. its just not possible to convince his mother of that without a PhD. ;)17:46
kim0HAHA17:47
hazmatSpamapS, :-)17:47
kim0it's amazing women are women everywhere I suppose17:47
hazmatperhaps more specifically.. the nature of a mom to be a mom17:48
hazmati wish it were true17:48
=== deryck is now known as deryck[lunch]
kim0yeah, they're hard wired to care for children more than others can imagine .. 17:49
niemeyerSpamapS: Ah, that should be fine then17:51
niemeyerSpamapS: We care mostly about license details, rather than copyright17:51
niemeyerSpamapS: For using Augeas, that is17:51
niemeyerSpamapS: +1 on having that cleared up for formulas17:52
niemeyerbcsaller: Have an interview now, will push your review to completion after that17:54
niemeyersidnei_!17:59
sidnei_yo17:59
sidnei_so anyone wrote an ensemble formula for plone yet? :)17:59
hazmatsidnei_, not yet ;-)18:01
=== sidnei_ is now known as sidnei
hazmatsidnei_, i was thinking it would be a zodb server formula, plone app server formula, varnish formula18:01
sidneihazmat, yeah, that's what i thought too18:02
sidneijust wondering if i can get off the business of building the installer for windows and provide ensemble formulas instead :)18:02
niemeyerThat'd be *awesome*18:02
hazmatthe varnish is a little wierd, in that its probably passing VCL directly  via the service relation18:02
hazmatfor more advanced config.. and namespacing across multiple domains and different apps might be a little strange with varnish and service relations.. as its config is effectively code18:03
hazmatbut simple stuff should just work ootb18:03
hazmatsidnei, did you see enfold's new  plone hosting system?18:04
sidneihazmat, yup, got early access and all :)18:04
hazmatits insanely fast to setup a new plone with their stuff, i still haven't figure out how they did that18:05
hazmatits way faster than the process start time18:05
sidneihazmat, i don't think they're setting up a new process, but i could be wrong. possibly shared instance but separate zodb?18:06
hazmatsidnei, that makes sense, although there's some cache thrashing/mem ballooning possible with something like that18:07
sidneihazmat, indeed.18:08
sidneicould ask alan but he's not online right now18:08
hazmatsidnei, he told me secret sauce last i asked ;-)18:14
sidneihaha18:14
* hazmat switches into concurrent mode18:42
_mup_ensemble/expose-hook-commands r240 committed by jim.baker@canonical.com18:43
_mup_Hook skeleton for open-port, close-port commands18:43
=== deryck[lunch] is now known as deryck
kim0koolhead17: hey18:58
kim0there ?18:58
koolhead17kim0: hello18:58
kim0hey :)18:58
kim0koolhead17: can u join the online chat in 2 mins18:58
kim0and tell us what you've been up to18:58
koolhead17yes sure. am very much here.18:59
kim0cool18:59
kim0niemeyer: hazmat sidnei jimbaker bcsaller ready for some irc talk19:00
hazmatniemeyer, that problem that SpamapS had seems pretty easy to reproduce.. start client with watch against local zk, restart zk, boom.19:00
kim0let's hit #ubuntu-cloud19:00
niemeyerhazmat: Sweet!19:00
hazmatkim0, rock on19:00
niemeyerhazmat: Well, "sweet!" :)19:00
koolhead17cool19:00
niemeyerCOMMUNITY WEEKLY MEETING ROLLING ON #ubuntu-cloud19:02
niemeyer^^^19:02
niemeyer:-))19:02
niemeyerOk, standup?19:22
niemeyerLet's try to do a "real" one.. I have to stop talking and review some code :)19:22
koolhead17haha19:23
jimbakerniemeyer, sounds good19:24
niemeyerhazmat, bcsaller: standup?19:25
koolhead17obino: jimbaker hello guys19:25
bcsallerniemeyer: mumble19:25
hazmatniemeyer, we're all hanging in mumble19:25
jimbakerkoolhead17, hi19:46
_mup_Bug #791501 was filed: Ensemble images should use the ppa <Ensemble:New> < https://launchpad.net/bugs/791501 >19:47
hazmatniemeyer, on the call you where saying we shouldn't divert all session events to a separate channel if the session is still alive?20:11
niemeyerhazmat: The opposite20:11
hazmatokay.. cool, that's what i thought20:11
niemeyerhazmat: We shouldn't divert the event if the session is really dead20:11
hazmator.. i should say.. yeah.. that makes more sense20:11
niemeyerhazmat: Since we have to crash whoever is waiting on the watch20:11
hazmatniemeyer, yeah.. in the case of disconnect we can still divert if the handler is a kill switch20:12
niemeyerhazmat: Btw, it's good to double check what I said in the meeting re. the behavior of sessions.  That link you posted has someone saying the opposite, but I don't recall this being the case.20:12
hazmatas we want to crash fast in that case, not go through every watcher callback failing20:12
hazmatniemeyer, yeah.. i'm running some tests now20:12
niemeyerhazmat: I recall a specific feature announcement saying that "now reestablishment of connections will preserve watches"20:13
hazmatif connecting to a different server?20:13
niemeyerhazmat: But this guy's email is from March.. so it's strange20:13
niemeyerhazmat: Yeah, given the semantics of zk, switching server is really not a big deal20:13
niemeyerhazmat:20:15
niemeyer"If the client connects to a different ZooKeeper server, it will send the session id as a part of the connection handshake.20:15
niemeyer"20:15
niemeyerhttp://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html20:15
hazmati wonder how vmware with activestate stealing the thunder of cloudfoundry20:15
hazmat^feels20:15
niemeyer"Another parameter to the ZooKeeper session establishment call is the default watcher. Watchers are notified when any state change occurs in the client. For example if the client loses connectivity to the server the client will be notified, or if the client's session expires, etc..."20:16
niemeyerhazmat: The distinction between precisely those two examples is what we were talking about20:16
hazmatniemeyer, from the same page "If you are watching for a znode to come into existance, you will miss the event if the znode is created and deleted while you are disconnected."20:17
hazmati guess in that particular case its moot20:17
niemeyerhazmat: Yeah, sure, but we don't care .. righ20:17
niemeyert20:17
hazmathmm20:18
niemeyerhazmat: re. cloudfoundry, I don't see it as stealing.  I think vmware is probably delighted.20:19
hazmatits a separate private cloud foundry installation hawking closed source features 20:19
niemeyerhazmat: Yeah, but it's still announced as Cloud Foundry..  much better for them than anything else ActiveState pushed.20:22
bcsallerniemeyer: I think we are missing a high level architecture doc. I got asked for something and realized we don't really have anything we can point people at that want to eval the overall system design. Unless you know of something I'm not seeing?20:36
hazmatniemeyer, another useful doc http://outerthought.org/blog/435-ot.html20:38
niemeyerbcsaller: Indeed20:43
niemeyerbcsaller: I started such a doc in the old specifications section in the wiki20:43
niemeyerbcsaller: But it's poor and unfinished20:43
niemeyerbcsaller: Funny enough, I think the best we'd have today is our glossary20:44
bcsallermaybe I'll take a stab at it a little later today20:44
niemeyerbcsaller: Sweet!20:44
niemeyerbcsaller: https://wiki.canonical.com/Ensemble/Specifications/001020:46
bcsallerthanks20:46
niemeyerbcsaller: Not sure there's anything useful there20:46
niemeyerbcsaller: It hasn't been reviewed this century20:47
bcsallerunderstood :)20:47
_mup_ensemble/expose-hook-commands r241 committed by jim.baker@canonical.com21:31
_mup_Completed wiring up hook commands for open-port, close-port21:31
=== marrusl is now known as marrusl_afk
hazmatlooking at some of the callback oriented test code of txzookeeper is like reassembling a puzzle.22:06
jimbakerhazmat, indeed, inlineCallbacks do make for a better experience. in talking to guido van rossum at the amazon python day event, he clarified his position on async code - it was the callback oriented code that made his head hurt, not async code per se22:12
bcsallerniemeyer: thanks for the review23:06
niemeyerbcsaller: No problem, excited to see this close to completion23:07
=== marrusl_afk is now known as marrusl

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