Saturday, 2015-04-04

*** vinsh has joined #openstack-swift00:06
*** vinsh has quit IRC00:12
*** zhill has quit IRC00:25
notmynamethansk everyone for all your work on ec this week00:26
*** pots has joined #openstack-swift00:37
*** pots has left #openstack-swift00:38
*** annegentle has joined #openstack-swift00:45
*** annegentle has quit IRC00:49
clayghrmm.... so I don't guess that probetests pass with a default policy of ec - I think we had a similar limitation when we rolled storage policies, that if your default was a two replica not all of the tests would pass.  I'm going to keep looking at the failures tho.00:55
notmynameisn't that new, though? probetests for an ec default policy were passing pretty recently01:22
*** annegentle has joined #openstack-swift01:45
*** annegentle has quit IRC01:51
*** annegentle has joined #openstack-swift02:12
*** annegentle has quit IRC02:12
claygnotmyname: well...02:27
openstackgerritTakashi Kajinami proposed openstack/swift: Add process name checking into swift-init  https://review.openstack.org/11620302:28
claygnotmyname: I'm kinda seeing that there was this thing I did while selecting diffs from feature/ec that has made ec_review slightly different that what we were had last week on feature/ec02:41
claygnotmyname: the short and skinny is that I "broke" ECObjectControllers ability to PUT into a replicated storage policy02:41
claygnotmyname: you probably remember before the GET path was in a seperate controller torgomatic had originally just mushed everything in the PUT path through the one and only ObjectController - and there was all this (crazy?) logic where you'd call into methods on the storage policy class to decide is_multiphase_put or transform_chunks (which was a noop on replicated objects)02:43
claygnotmyname: when we realized that wasn't going to scale for the GET path (where the differences in data flow was so drastically different) - we spun out ECObjectController and realized that this isolation is very sexy!02:44
claygnotmyname: so then we refactored the proxy's PUT and eventually moved the PUT path to the ECObjectController leaving the replicated object controller back in it's normal happy and safe path - but we didn't rip out all of the "calling back into the policy" stuff that was already in the ECObjectController's PUT path02:45
claygso although the idea was "no replicated object PUTS would *ever* flow through the ECObjectController" - it still *worked* (surprise!)02:45
claygwell - I thought that segregating by controller was a really good idea for simplifying maintainability, and having it call into the ECStoragePolicy wasn't as good as having it *just do it* - you want to know how EC Proxy put works - look no further than the ECObjectController02:46
claygso I actively started removing things that had "leaked" in storage policy and put them on the ECObjectController - don't go and ask the policy if you should use MIME docuemtns and trailing metadata - just do it!02:47
claygI think this all sounds pretty good so far - but it turns out down in probetest land things are no so cut and dry - and places where we're explictly picking a policy - but expecting to be a replicated policy - were surprising NOT breaking because of the bi-modal nature of the ECObjectController un-natural ability to do the right thing for replicated objects on HEAD/DELETE/PUT02:48
claygremoving that ability exposed some test bugs - places where we made assumptions like - choose policy-0 and assume it's replicated02:49
clayganyway - it's all quite fixable - and I'm working on it - and I'm sorry I didn't notice earlier I was doing this02:49
claygI *hope* it was the right call to make the ECObjectController do EC objects and then make sure we have good tests that don't do stupid things that we are not expecting to happen in the real world02:50
claygI *hope* that it will be easier to iterate on the ECObjectController (and other EC classes) knowning that the work on EC objects and not have to *also* consider the effects of a given change when "what happens if a replicated object flows through this code path" - specifically by making sure that never happens02:51
claygif not... well np, I haven't changed anything on feature/ec - we can always add back the ECObjectController's ability to PUT replicated objects and worry about tests doing insane things... later?02:52
clayg^ maybe a paste would have been better :P02:52
notmynameheh02:55
claygnotmyname: anyway - i only get *one* probe test failure (it's random) when ec is *not* storage policy 003:02
claygnotmyname: I get a few more when it *is* sp0 - and a few more when it's sp0 and the default - I'm going to see how many of these configurations I can get working reliably with tonights push - and not work on the reconstructor review beyond the awesome fixes already submitted by acoles.03:03
claygnotmyname: note I'm running latest code that includes some fixes not published (e.g. the account-reaper fix) - so I'm not sure how reproducable these results will be outside of my laptop until I get some code up later03:04
claygnotmyname: I am curious if you'd be able to verify on your machine where you saw like 6 failures - if you also had ec sp0 - or just ec default?03:05
notmynameclayg: sp:0 was repl (non default). sp:2 was default and ec03:06
claygnotmyname: ok, interesting - i hadn't acctually tested that because I had some interesting failures of my own - but I had assumed it would be slightly better03:08
claygI'm not sure I fully understand why the *most* probetests were not able to cope with that setup even given my new understanding of what I've done to ECObjectController03:09
clayganyway - i'm sure I'll have some more interesting things to say about it after a few hours03:09
* clayg marks one more fixed dumb test off the list03:09
claygnotmyname: it's probably worth noting - all the tests that were failing are ones that acoles_away and I have written since we started getting into probetests and the brain splitter and policy = random.choice(ENABLED_POLICIES)03:10
claygbut hey - failing tests are working as intended!03:11
*** vinsh has joined #openstack-swift03:13
*** vinsh has quit IRC03:17
claygnotmyname: you know I'm not even sure how much my proxy explination had to with anything - I *know* functests passed with ec default storage policy - but I'm not *sure* probetests ever did04:15
claygnotmyname: none of the bugs I've fixed had anything to do with the crazy PUT behavior thing - one was always selecting policy[0] instead of self.policy - one was policy.default instead of self.policy - another had to do with assuming random.choice(policies) was replicated and talking to object nodes like replicated servers04:16
claygoh, one was create_container without X-Storage-Policy: self.policy.name04:16
clayg^ make that two04:19
*** vinsh has joined #openstack-swift04:21
*** vinsh has quit IRC04:23
clayghrmmm... ok - so this is acctually highlighting to me there's a number of failure modes with EC besides the reconstructor that it would be nice to independently verify... in truth many of theese ReplProbeTest could be made generic enough to run again any policy04:25
clayg(e.g. async update tests, handoff tests)04:26
clayganyway that should be it for sp0:ec=default - i would like to try sp1:ec=default, sp0:ec=not_default, sp0:repl=deprecated - there's lots of rich stuff here04:27
clayg... but it's late - if this works I may just finish up my last rebase and throw it out there04:27
*** Viswanath has joined #openstack-swift04:43
*** Viswanath has quit IRC04:45
*** Viswanath has joined #openstack-swift05:04
*** Viswanath has quit IRC05:08
*** vinsh has joined #openstack-swift07:23
*** vinsh has quit IRC07:28
*** Bsony has joined #openstack-swift08:46
*** silor has joined #openstack-swift08:52
*** silor has quit IRC09:18
*** theanalyst has quit IRC10:18
*** theanalyst has joined #openstack-swift10:22
*** early has quit IRC10:37
*** early has joined #openstack-swift10:40
*** acoles_away is now known as acoles11:18
*** kutija has joined #openstack-swift11:39
*** ornot has joined #openstack-swift11:43
ornothi there! i'm new with swift and i have a problem with CFSocketCreate, http://pastie.org/private/eisewjqztot9icltbtf9cg11:46
ornoti'm trying to init socket with self.myMethodName as callback function but getting an error that i can't understand or google11:47
ornot(... my func params ...) -> ()' is not convertible to 'CFSocketCallBack'11:48
ornothow i need to define my callback or how i need to pass it into that param11:49
acolesornot: you are asking in the wrong place, this channel is for *openstack* swift object store project11:50
*** ornot has left #openstack-swift11:54
*** panbalag has joined #openstack-swift12:37
*** SkyRocknRoll has joined #openstack-swift13:21
*** silor has joined #openstack-swift16:18
*** SkyRocknRoll has quit IRC16:34
claygacoles: awww man I think he was asking about the "CF" = cloud files - like java bindings or something!16:58
acolesclayg: oh. i thought they'd mistaken us for that funky new swift language :D17:00
acolesnm17:01
*** Gu_______ has joined #openstack-swift18:20
*** silor has quit IRC18:23
*** Gu_______ has quit IRC18:24
*** Gu_______ has joined #openstack-swift18:25
acolesclayg: dunno if you are around, i just left a comment and patch for ec recon, its kinda crazy timing-wise but felt i should at least pose the question18:40
acolesclayg: i gotta go but will check in tomorrow18:41
*** acoles is now known as acoles_away18:41
*** Gu_______ has quit IRC18:47
*** haomaiwa_ has joined #openstack-swift18:51
*** haomaiwang has quit IRC18:51
*** theanalyst has quit IRC19:44
*** theanalyst has joined #openstack-swift19:47
*** vinsh has joined #openstack-swift20:51
*** vinsh has quit IRC20:53
*** Bsony has quit IRC20:55
claygacoles_away: i'll have to think about it - the race on a handoff is super wide (sync part, rmtree part) and at least for replicated it's been much less of an issue - the race between a listdir and an unlink is much smaller especially since the next thing that #new.data is going to do is create a .durable for itself...22:01
*** BAKfr has quit IRC22:24
*** pberis has joined #openstack-swift22:28
*** BAKfr has joined #openstack-swift22:30
*** Gue______ has joined #openstack-swift23:30
*** pberis has quit IRC23:34

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