*** NM has quit IRC | 00:00 | |
ho | good morning! | 00:01 |
---|---|---|
*** Cipher45 has joined #openstack-swift | 00:10 | |
*** erlon has quit IRC | 00:11 | |
*** aix has joined #openstack-swift | 00:12 | |
*** zhill has quit IRC | 00:16 | |
tdasilva | clayg: thanks for the review! | 00:18 |
clayg | tdasilva: oh no problem, it was mostly just me wtf'ing before admiting in tears it's about as good as it's gunna get | 00:19 |
clayg | I'm looking at moving the EC specific code paths out of _store_object, _get_put_connections and _transfer_data and putting things back the way they go for replication | 00:20 |
tdasilva | ok | 00:21 |
clayg | I think the merge to master would look like "clean up PUT as much as we can" "use that fact that PUT is chopped up into useful pieces to just over-ride the EC specific parts in ECObjectController" | 00:21 |
clayg | but I wanna look at those backend methods to see if they need to be cut up anymore - _transfer_data is a good bunch of error handling to have to duplicate in the ECObjectController | 00:22 |
clayg | it also grew like half again as many new arguments | 00:23 |
clayg | tdasilva: https://review.openstack.org/#/c/160877/ presents the good idea of just attaching the policy to the controller instance instead of plumbing it through to every method on the damn thing. | 00:24 |
clayg | just reminded myself that patch needs to handle the fucking COPY path | 00:34 |
* clayg cries some more | 00:34 | |
clayg | tdasilva: but you know... you're welcome :'( | 00:34 |
*** reed has quit IRC | 00:39 | |
tdasilva | clayg: i'm back! was eating some dinner | 00:42 |
clayg | good for you | 00:42 |
tdasilva | lol | 00:42 |
clayg | we should all be worried about keeping up our strength | 00:42 |
tdasilva | so, are you going to work on the refactor patch, or would you like me to take another stab at it | 00:42 |
tdasilva | ? | 00:42 |
*** kota_ has joined #openstack-swift | 00:43 | |
tdasilva | if you already moving stuff to ECObjectController, then I'll wait for your patchset | 00:43 |
clayg | yeah i'm moving stuff over trying to understand the signature changes of the backend storage methods from plain old 156825 and where you ended up in 164561 after EC-ifying everything | 00:44 |
torgomatic | bash: line 1: 20782 Segmentation fault (core dumped) nosetests -s test.unit.proxy.test_server:TestObjectECRangedGET | 00:45 |
torgomatic | WINNING | 00:45 |
*** NM has joined #openstack-swift | 00:47 | |
clayg | ugh :( | 00:47 |
clayg | tdasilva: anyway after I get done with the _storage_object refactoring onto ECObjectController I'm going to take state of things and look at publishing the method extraction part of PUT to master - while i'm convinced the EC PUT path will be basically unreviewable without it - I think it could take enough time to review in it's own right that we're really going to want it on master ahead of the EC changes review - i think it | 00:50 |
clayg | tdasilva: I don't think the order of the PUT method extraction and versioned writes and copy really makes much of a difference to master - but the method extraction may make the most sense for EC | 00:50 |
clayg | the other middleware extractions help more *in general* but that code isn't really different between replicated and EC | 00:51 |
clayg | IMHO, that is - you should take that with a grain of salt | 00:52 |
tdasilva | clayg: I agree, that the middleware extractions just make help the (PUT) code more readable, easier to "digest" but it is not crucial for EC | 00:53 |
clayg | fucking _get_put_response and druable grahgh! | 00:54 |
clayg | mattoliverau: you around | 01:03 |
mattoliverau | clayg: yup | 01:03 |
clayg | mattoliverau: tdasilva and I are brainstorming about how screwed we are and felt like it's unfair to leave you out | 01:03 |
tdasilva | lol | 01:03 |
tdasilva | join the pain | 01:04 |
mattoliverau | Lol, feeling the love :) | 01:04 |
clayg | mattoliverau: so the notion is that maybe versioned_writes despite all the awesomeness doesn't acctually solve for taking the ec specific parts of PUT out of the middle of the replicated PUT path | 01:05 |
clayg | where as the PUT method extraction refactor might make it a bunch more obvious where the ECObjectController needs to cut through. | 01:05 |
clayg | like basically everything above _store_object should be about the same as on replicated - and everything after _store_object should be un-effected by whatever we can pull out of the copy/version handling part of PUT | 01:06 |
* mattoliverau opens the patch to take a closer look | 01:08 | |
clayg | anyway the general idea is that versioned writes may not make it's way onto feature/ec any quicker than master | 01:08 |
tdasilva | clayg: the only little piece after _store_object that will be afftected after copy is extracted is the update_response method, we should not need that anymore | 01:09 |
clayg | and if we could get something like the method extraction on both first - there's a good chance it'll be easier to apply to either/both assuming we can finish reviewing it | 01:09 |
clayg | tdasilva: omg that would be amazing! | 01:09 |
mattoliverau | Well, I was suprised how little a conflict we got when rebasing | 01:10 |
clayg | tdasilva: but that acctually get's created in PUT by the copy context shit - so it's not really "under" _store_object in the call stack sense | 01:10 |
clayg | mattoliverau: ok, good that's encourging | 01:10 |
tdasilva | yes, correct, it's just after :P | 01:10 |
mattoliverau | and extracting the obj_version code isn't too hard as it was mainly placed in 2 contained if statements | 01:10 |
tdasilva | true | 01:10 |
mattoliverau | (when fixing the conflict) | 01:10 |
*** tsg has joined #openstack-swift | 01:11 | |
clayg | ok, that's all good news - so maybe we agree there's only limited value trying to get it proposed to feature/ec | 01:11 |
mattoliverau | So other then changes, landing in master might be ok pre EC | 01:11 |
clayg | mattoliverau: maybe? you're apllying the versioned writes on feature/ec after tdasilva's re-imaging of the PUT method extraction change on feature/ec right? | 01:12 |
tdasilva | makes sense to me | 01:12 |
mattoliverau | clayg: I think it comes down to time.. getting it lined up nicely to make the merge to master easier and if that is soon then putting obj_versions on EC makes sense | 01:12 |
mattoliverau | clayg: yup | 01:12 |
clayg | ok, well you guys have convinced me a converged view of the PUT method extraction merged on both master and feature/ec would be nice to pre-req any of the context extractions on master | 01:13 |
mattoliverau | but now knowing that "at this point" it doesn't seem to effect to put path too much, amerge to master for obj_versions seems safe | 01:14 |
clayg | so i'm going to keep working on that | 01:14 |
clayg | oh ok | 01:14 |
clayg | mattoliverau: tdasilva wanted some help with dlo/slo versioned_writes tests | 01:14 |
tdasilva | yay, that would be great! | 01:14 |
clayg | i honestly have no idea how those features work/break each other - question marks around current behavior is always a pain | 01:15 |
mattoliverau | clayg, tdasilva: I can start taking testing, then we can come up with some tests :) | 01:16 |
clayg | nice | 01:17 |
mattoliverau | wow, my english is awesome today | 01:17 |
*** tsg has quit IRC | 01:18 | |
tdasilva | mattoliverau: clayg put a question about versioning placement on the pipeline regarding before or after dlo/slo. Then I started reading more of the slo documentation and reading about behavior such as ?multipart-manifest=delete and how that would be affected if a container is being versioned | 01:18 |
mattoliverau | tldr: I'll start testing the new versioned_writes middleware with slo/dlo.. and then find some tests | 01:18 |
mattoliverau | tdasilva: hmm, yeah.. that might just delete to latest version of the segments | 01:19 |
clayg | i can't even *imagine* how it works today - draw up a etherpad or something as you go | 01:20 |
tdasilva | right, but then what happens if there are previous versions of certain segments and not of others and stuff like that | 01:20 |
clayg | jesus :'( | 01:20 |
mattoliverau | yeah, I'll go test it out, I can etherpad as I go. | 01:21 |
mattoliverau | tdasilva: then getting the slo will fail cause a segment can't be found.. a dlo would be worse cause we'd have missing data in the middle of the file. | 01:22 |
mattoliverau | but no error | 01:22 |
mattoliverau | the question is, what is the expected behavior. I'd argue that, that's exactly what to expect.. unless you want ?multipart-manifest=delete to recursively delete versioned objects... but then there is more relience on a middleware noing about another middleware. | 01:24 |
mattoliverau | s/noing/knowing/ | 01:24 |
clayg | so I would expect overriting a manifest in a versioned container to create a backup of the manifest that's pointing to the old objects, and deleting a manifest with multipart would delete all of the objects tht it's currently pointing to | 01:26 |
clayg | if the segments container is *also* versioned is when everything get's screwed | 01:26 |
clayg | because the segment has the real paths not the paths that the version middleware makes up | 01:26 |
mattoliverau | hmm yeah | 01:27 |
clayg | but I don't expect that work, and no one else is either, because it doesn't work - they can be bummed about it if they want to | 01:27 |
mattoliverau | lol | 01:28 |
tdasilva | maybe this is (one of) the reason why we chose not to version manifest objects before ?? | 01:30 |
clayg | HOLY shit | 01:31 |
clayg | i took the put method extraction and moved _store_object, _get_put_response, _transfer_data and _get_put_connections all under the ECObjectController and then copied in the old replicated methods (who have different signatures and shit!?) from https://review.openstack.org/#/c/156825/4 into base controller - and it *worked* | 01:33 |
clayg | like i mean it was supposed to work - _store_object is supposed to wrap up everything to do with how the object is placed on backend storage - and there's tons of duplicated code - but the fact that it worked at all is freaking me out | 01:34 |
clayg | like i had to restart my proxy half a dozen times to even believe it was running my changes | 01:34 |
tdasilva | clayg: well, if you look at patch 159285, you will see that I was able to substitute _store_object with 10 lines of code for single process and everything works | 01:36 |
patchbot | tdasilva: https://review.openstack.org/#/c/159285/ | 01:36 |
mattoliverau | Lol! Things are not suppose to just work! That's not how IT works, you must've missed smething :p | 01:36 |
clayg | that's crazy | 01:36 |
tdasilva | so i'm not that surprised | 01:36 |
*** jrichli has joined #openstack-swift | 01:43 | |
tdasilva | i'm going to take off. mattoliverau thanks for your help with versioning, i'll try to pick up again tomorrow, have a good night/day | 01:51 |
mattoliverau | tdasilva: thanks for all your work, you've done all the work ;) night man! | 01:53 |
openstackgerrit | Merged openstack/swift: Bump PyECLib version to >= 1.0.3 https://review.openstack.org/164872 | 02:02 |
*** dmorita has quit IRC | 02:19 | |
*** dmorita has joined #openstack-swift | 02:19 | |
*** tsg has joined #openstack-swift | 02:23 | |
*** dmorita has quit IRC | 02:24 | |
*** Guest____ has joined #openstack-swift | 02:26 | |
*** Guest____ is now known as b4rker | 02:29 | |
*** panbalag has quit IRC | 02:32 | |
*** jrichli has quit IRC | 02:36 | |
*** tsg has quit IRC | 02:40 | |
*** Anticimex has quit IRC | 02:42 | |
*** haomaiwang has joined #openstack-swift | 02:43 | |
*** NM has quit IRC | 02:47 | |
*** NM has joined #openstack-swift | 02:49 | |
*** kajinamit has joined #openstack-swift | 02:56 | |
*** echevemaster has quit IRC | 03:05 | |
*** NM has quit IRC | 03:05 | |
*** echevemaster has joined #openstack-swift | 03:05 | |
*** b4rker has quit IRC | 03:15 | |
*** sluo_wfh is now known as sluo_laptop | 03:28 | |
*** david-lyle is now known as david-lyle_afk | 03:35 | |
*** mitz has quit IRC | 03:40 | |
*** tsg has joined #openstack-swift | 03:42 | |
*** ppai has joined #openstack-swift | 03:48 | |
openstackgerrit | Yuan Zhou proposed openstack/swift: Add swift-ec-info tool https://review.openstack.org/142694 | 03:52 |
*** Anticimex has joined #openstack-swift | 03:52 | |
*** mitz has joined #openstack-swift | 04:34 | |
*** tsg has quit IRC | 04:35 | |
charz | notmyname: clayg I added the ssbench job in swift-cluster-ci. Here is the output (https://8b86aea46fb38e6450f2-0e5f4c086da474abc1df58826577db2f.ssl.cf1.rackcdn.com/142694/28/ssbench/) | 04:54 |
clayg | hey that html looks baddass! | 04:55 |
clayg | interesting that run hit some retires1 | 04:56 |
clayg | charz: I want to say that when we ran functional tests there was some collection of the backend logs - do i have those for benchmarks too? | 04:56 |
charz | clayg: yeah, I can put it in output folder. | 04:57 |
clayg | yuanzz: it was probably you change that made all of the requests retry :P -> https://review.openstack.org/#/c/142694/ | 04:57 |
clayg | that's amazing - i'm really keen on this work | 04:58 |
charz | clayg: I triggered it. :P | 04:58 |
*** zaitcev has quit IRC | 05:00 | |
*** ktsuyuzaki has joined #openstack-swift | 05:05 | |
*** kota_ has quit IRC | 05:07 | |
charz | re-trigger it again and waiting for backend logs | 05:07 |
*** kota_ has joined #openstack-swift | 05:08 | |
*** ktsuyuzaki has quit IRC | 05:10 | |
*** ktsuyuzaki has joined #openstack-swift | 05:10 | |
*** kota_ has quit IRC | 05:12 | |
*** kota_ has joined #openstack-swift | 05:13 | |
*** ktsuyuzaki has quit IRC | 05:15 | |
*** ktsuyuzaki has joined #openstack-swift | 05:15 | |
*** kota_ has quit IRC | 05:17 | |
*** kota_ has joined #openstack-swift | 05:18 | |
*** ktsuyuzaki has quit IRC | 05:20 | |
*** ktsuyuzaki has joined #openstack-swift | 05:22 | |
*** kota_ has quit IRC | 05:24 | |
*** kota_ has joined #openstack-swift | 05:25 | |
*** ktsuyuzaki has quit IRC | 05:26 | |
*** ktsuyuzaki has joined #openstack-swift | 05:27 | |
*** kota_ has quit IRC | 05:29 | |
charz | yeah, I nailed it! backend logs are included. | 05:30 |
*** kota_ has joined #openstack-swift | 05:34 | |
*** ktsuyuzaki has quit IRC | 05:36 | |
*** ktsuyuzaki has joined #openstack-swift | 05:36 | |
*** kota_ has quit IRC | 05:38 | |
*** kota_ has joined #openstack-swift | 05:39 | |
*** ktsuyuzaki has quit IRC | 05:41 | |
*** ktsuyuzaki has joined #openstack-swift | 05:41 | |
*** kota_ has quit IRC | 05:43 | |
*** kota_ has joined #openstack-swift | 05:44 | |
*** delattec has quit IRC | 05:44 | |
*** delattec has joined #openstack-swift | 05:45 | |
*** ktsuyuzaki has quit IRC | 05:46 | |
*** ktsuyuzaki has joined #openstack-swift | 05:46 | |
*** kota_ has quit IRC | 05:48 | |
*** kota_ has joined #openstack-swift | 05:51 | |
*** ktsuyuzaki has quit IRC | 05:53 | |
*** ktsuyuzaki has joined #openstack-swift | 05:56 | |
*** kota_ has quit IRC | 05:58 | |
openstackgerrit | Clay Gerrard proposed openstack/swift: Validate the PUT method extraction for EC https://review.openstack.org/164950 | 05:58 |
*** kota_ has joined #openstack-swift | 05:58 | |
clayg | tdasilva: if you come online before me and you wanna poke fun at how crappy code I write at 11pm is - you should give ^ a once over | 05:58 |
*** ktsuyuzaki has quit IRC | 06:00 | |
*** ktsuyuza_ has joined #openstack-swift | 06:01 | |
*** kota_ has quit IRC | 06:02 | |
*** kota_ has joined #openstack-swift | 06:03 | |
*** ktsuyuza_ has quit IRC | 06:05 | |
*** ktsuyuzaki has joined #openstack-swift | 06:05 | |
*** kota_ has quit IRC | 06:08 | |
*** ktsuyuza_ has joined #openstack-swift | 06:08 | |
*** ktsuyuzaki has quit IRC | 06:09 | |
*** kota_ has joined #openstack-swift | 06:12 | |
*** ktsuyuza_ has quit IRC | 06:14 | |
*** ktsuyuzaki has joined #openstack-swift | 06:15 | |
*** kajinamit has quit IRC | 06:15 | |
*** kota_ has quit IRC | 06:17 | |
*** kota_ has joined #openstack-swift | 06:17 | |
*** ktsuyuzaki has quit IRC | 06:19 | |
*** ktsuyuzaki has joined #openstack-swift | 06:20 | |
*** kota_ has quit IRC | 06:22 | |
*** kota_ has joined #openstack-swift | 06:22 | |
*** ktsuyuzaki has quit IRC | 06:25 | |
*** ktsuyuza_ has joined #openstack-swift | 06:25 | |
*** kota_ has quit IRC | 06:27 | |
*** ktsuyuzaki has joined #openstack-swift | 06:27 | |
*** ktsuyuza_ has quit IRC | 06:30 | |
*** kota_ has joined #openstack-swift | 06:34 | |
*** ktsuyuzaki has quit IRC | 06:36 | |
*** ktsuyuzaki has joined #openstack-swift | 06:36 | |
*** kota_ has quit IRC | 06:38 | |
*** kota_ has joined #openstack-swift | 06:39 | |
*** nshaikh has joined #openstack-swift | 06:40 | |
*** ktsuyuzaki has quit IRC | 06:41 | |
*** ktsuyuzaki has joined #openstack-swift | 06:41 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/swift: Imported Translations from Transifex https://review.openstack.org/164964 | 06:41 |
*** kota_ has quit IRC | 06:43 | |
*** echevemaster has quit IRC | 06:43 | |
*** kota_ has joined #openstack-swift | 06:44 | |
*** ktsuyuza_ has joined #openstack-swift | 06:46 | |
*** ktsuyuzaki has quit IRC | 06:46 | |
*** SkyRocknRoll has joined #openstack-swift | 06:47 | |
*** kota_ has quit IRC | 06:49 | |
*** kota_ has joined #openstack-swift | 06:51 | |
*** ktsuyuza_ has quit IRC | 06:53 | |
*** ktsuyuzaki has joined #openstack-swift | 06:53 | |
*** kota_ has quit IRC | 06:55 | |
*** kota_ has joined #openstack-swift | 06:56 | |
*** ktsuyuzaki has quit IRC | 06:58 | |
*** ktsuyuza_ has joined #openstack-swift | 06:58 | |
*** kota_ has quit IRC | 07:00 | |
*** kota_ has joined #openstack-swift | 07:00 | |
*** ktsuyuza_ has quit IRC | 07:03 | |
*** ktsuyuzaki has joined #openstack-swift | 07:03 | |
*** kota_ has quit IRC | 07:05 | |
*** kota_ has joined #openstack-swift | 07:07 | |
*** ktsuyuzaki has quit IRC | 07:09 | |
*** ktsuyuzaki has joined #openstack-swift | 07:10 | |
*** kota_ has quit IRC | 07:12 | |
*** kota_ has joined #openstack-swift | 07:12 | |
*** ktsuyuzaki has quit IRC | 07:14 | |
*** ktsuyuzaki has joined #openstack-swift | 07:17 | |
*** kota_ has quit IRC | 07:19 | |
*** kota_ has joined #openstack-swift | 07:19 | |
*** ktsuyuzaki has quit IRC | 07:22 | |
*** ktsuyuzaki has joined #openstack-swift | 07:22 | |
*** kota_ has quit IRC | 07:24 | |
*** zhill has joined #openstack-swift | 07:24 | |
*** kota_ has joined #openstack-swift | 07:24 | |
*** ktsuyuzaki has quit IRC | 07:26 | |
*** o5k__ has joined #openstack-swift | 07:28 | |
*** ktsuyuzaki has joined #openstack-swift | 07:29 | |
*** zhill has quit IRC | 07:31 | |
*** kota_ has quit IRC | 07:31 | |
*** o5k_ has quit IRC | 07:31 | |
*** silor has joined #openstack-swift | 07:44 | |
*** haomaiwang has quit IRC | 08:03 | |
*** haomaiwa_ has joined #openstack-swift | 08:04 | |
*** silor has quit IRC | 08:15 | |
*** rledisez has joined #openstack-swift | 08:19 | |
*** o5k__ is now known as o5k | 08:27 | |
*** arnaud_o has quit IRC | 08:41 | |
*** geaaru has joined #openstack-swift | 08:59 | |
*** ktsuyuzaki has quit IRC | 08:59 | |
*** jordanP has joined #openstack-swift | 09:03 | |
*** jistr has joined #openstack-swift | 09:04 | |
Guest5916 | hi! - newbie question : i'm following this http://docs.openstack.org/developer/swift/apache_deployment_guide.html, i don't know in what section of /etc/swift/test.conf should i put these entries: web_front_end = apache2 | 09:41 |
Guest5916 | normalized_urls = True | 09:41 |
Guest5916 | anybody to help ? | 09:44 |
*** Guest5916 is now known as m_h | 09:48 | |
*** m_h is now known as h_m | 09:49 | |
ho | Guest5916: please try [func_test]. | 09:58 |
*** acoles_away is now known as acoles | 10:10 | |
*** SkyRocknRoll has quit IRC | 10:11 | |
*** NM has joined #openstack-swift | 10:29 | |
*** haomaiwa_ has quit IRC | 10:44 | |
*** silor has joined #openstack-swift | 10:50 | |
*** Bsony has joined #openstack-swift | 11:00 | |
*** Bsony has quit IRC | 11:00 | |
*** Bsony has joined #openstack-swift | 11:01 | |
*** NM has quit IRC | 11:31 | |
*** ppai has quit IRC | 11:31 | |
*** ho has quit IRC | 11:44 | |
*** vinsh has joined #openstack-swift | 12:03 | |
*** jistr is now known as jistr|class | 12:26 | |
*** madgriff_ has joined #openstack-swift | 13:15 | |
*** o5k_ has joined #openstack-swift | 13:21 | |
*** madgriff_ has quit IRC | 13:22 | |
*** panbalag has joined #openstack-swift | 13:23 | |
*** o5k has quit IRC | 13:23 | |
*** nshaikh has quit IRC | 13:33 | |
*** o5k_ is now known as o5k | 13:35 | |
*** o5k_ has joined #openstack-swift | 13:45 | |
*** o5k has quit IRC | 13:46 | |
*** joeljwright has quit IRC | 13:53 | |
*** joeljwright has joined #openstack-swift | 13:53 | |
*** Gues_____ has joined #openstack-swift | 14:00 | |
*** bkopilov has quit IRC | 14:05 | |
*** jistr|class is now known as jistr | 14:05 | |
*** o5k_ is now known as o5k | 14:11 | |
*** nellysmitt has joined #openstack-swift | 14:29 | |
*** o5k has quit IRC | 14:30 | |
*** tsg has joined #openstack-swift | 14:30 | |
*** Fin1te has joined #openstack-swift | 14:44 | |
*** david-lyle_afk is now known as david-lyle | 14:57 | |
*** madgriff_ has joined #openstack-swift | 14:57 | |
*** Gues_____ has quit IRC | 15:01 | |
*** jrichli has joined #openstack-swift | 15:11 | |
*** Fin1te has quit IRC | 15:17 | |
*** lpabon has joined #openstack-swift | 15:38 | |
openstackgerrit | Thiago Gomes proposed openstack/python-swiftclient: Fix the Upload an object to a pseudo-folder https://review.openstack.org/165112 | 15:39 |
*** tsg has quit IRC | 15:43 | |
*** tacotuesday has joined #openstack-swift | 15:58 | |
clayg | whoa quiet this morning... | 16:01 |
*** madgriff_ has quit IRC | 16:01 | |
clayg | acoles: did you by chance take a stab at rebasing any of the ec specific behaviors in godf and hcl against the DiskFileRouter patch? | 16:06 |
acoles | clayg: i did and i am really close to typing git review :D like, just running pep8 and typing a commit message... | 16:06 |
clayg | nice | 16:07 |
openstackgerrit | Thiago da Silva proposed openstack/swift: refactor PUT method https://review.openstack.org/164561 | 16:07 |
clayg | it's like we're working around the clock! | 16:07 |
clayg | tdasilva: !!! i was just going to ask you about that! | 16:07 |
tdasilva | clayg: just did some clean up of _store_object | 16:07 |
tdasilva | if you are not working on your patch, I was planning on rebasing it with this patch | 16:08 |
tdasilva | clayg: I like your patch btw, it's really neat that we can separate EC from replica and just maintain replica stable | 16:09 |
clayg | tdasilva: i am not at the moment - i'll take you up on that offer - thanks! | 16:10 |
clayg | tdasilva: i was just looking at it - nice touch | 16:10 |
tdasilva | I figure once versioning and copy is gone to middleware, store_object will only have req and outgoing_headers as params! | 16:10 |
clayg | tdasilva: that's pretty nice | 16:11 |
clayg | tdasilva: although... you know that get_from_index can return None right :P | 16:11 |
openstackgerrit | Alistair Coles proposed openstack/swift: Per-policy DiskFileRouter https://review.openstack.org/164380 | 16:11 |
openstackgerrit | Alistair Coles proposed openstack/swift: Per-policy DiskFile classes https://review.openstack.org/165125 | 16:11 |
acoles | clayg: ^^ i guess i did a drive by rebase of your router patch | 16:11 |
clayg | acoles: nice! eat it router! | 16:12 |
clayg | acoles: so... feedback? are you happy with the result - i'm going to go look at it | 16:13 |
acoles | clayg: so, i'm not sure if i got 165125 right w.r.t. implementing the policy specific pieces in the manager or in the diskfile subclasses, i went round in circles for a while :( | 16:13 |
acoles | clayg: i'm happy that bot repl and ec diskfile subclass-families are ready to rock *and* legacy is still there by default | 16:14 |
acoles | clayg: i wasn't too sure whether we need policy-specific df_managers or just DiskFile subclass (and DiskFileWriter subclass) | 16:15 |
clayg | acoles: there's just too many damn classes - the fact that you have to pass instances of one to the other is showing us there's all coupled as fuuuh | 16:15 |
acoles | clayg: but for now i went with the pattern i *think* you were suggesting | 16:16 |
clayg | acoles: well - it's really b/c get_hashes for replication | 16:16 |
acoles | i.e. manager subclasses | 16:16 |
clayg | acoles: and yield hashes | 16:16 |
clayg | yeah @ the manager - i didn't want to do the manager - but had to because of yield hashes and get hashes for replication | 16:16 |
acoles | clayg: yep. although they could be class methods on the DiskFile | 16:16 |
acoles | (i think) | 16:17 |
clayg | acoles: ah!!!! yes | 16:17 |
clayg | well... maybe... idk | 16:17 |
acoles | clayg: so the alternative i could imagine is that DiskFileManager acts as the factory/router and everything policy specific is encapuslated in DiskFile, but idk | 16:18 |
clayg | anyway, I think the DiskFile(Reader|Writer) could all be one class - then if you need to register the Factory/Manager class that exposes get_diskfile, yield_hashes, and get_hashes - it's not so terrible (I think) | 16:18 |
clayg | anyway - we go with what we got | 16:19 |
*** mahatic has joined #openstack-swift | 16:20 | |
clayg | acoles: so it still looks like most of durable interface methods are still on the base DiskFile? | 16:21 |
acoles | clayg: just write_durable_timestamp? or did i miss something. i pretty much didn't touch DiskFile | 16:22 |
* acoles goes to review own patch | 16:22 | |
acoles | clayg: oh, i should point out that i have not yet applied all the features from the original multi-FI patch | 16:25 |
clayg | acoles: yeah, ok - cool | 16:25 |
acoles | clayg: base DiskFile does need to grow the write_durable_timestamp method imho but i do believe it shoudl be a no-op on base DiskFile | 16:25 |
acoles | clayg: i had another patch based on multi-FI for that | 16:26 |
acoles | clayg: tbh i focussed on getting the basic pattern in here and not yet throwing in all the incremental changes | 16:26 |
clayg | acoles: yup | 16:27 |
*** Bsony has quit IRC | 16:33 | |
*** mahatic_ has joined #openstack-swift | 16:35 | |
*** mahatic has quit IRC | 16:35 | |
clayg | acoles: i'm looking at the ec implementation of get_on_disk_files - pretty slick | 16:37 |
*** lpabon has quit IRC | 16:37 | |
acoles | clayg: i'm just fixing the stale doc strings in there ;) | 16:37 |
*** bkopilov has joined #openstack-swift | 16:41 | |
peluse | so is there a replacement patch set for multi-FI yet? reconstruction seems pretty solid but I have an interimttent issue with revert and it looks like its in multi FI somewhere | 16:42 |
peluse | have to step away for a few hrs, will debug on multi-FI if I need to but before I start digging in thought i'd check on all this otehr conversation | 16:42 |
*** bkopilov has quit IRC | 16:46 | |
*** rledisez has quit IRC | 16:47 | |
*** thumpba has joined #openstack-swift | 16:47 | |
*** thumpba_ has joined #openstack-swift | 16:51 | |
acoles | peluse: not quite there yet, but i will start xferring from multi-FI on top of the per-policy patches | 16:52 |
*** thumpba has quit IRC | 16:54 | |
clayg | acoles: so but you've got multi-FI support in the per-policy diskfile yeah? just not the suffix-y bits? | 16:54 |
acoles | clayg: correct. i'm just not sure yet if I have *everything* else that was in that multi-FI patch (apart form suffix-y bits) | 16:56 |
clayg | acoles: is there no ECDiskReader? | 16:56 |
clayg | acoles: oh i guess not, it doesn't have any module level function drops. | 16:57 |
clayg | acoles: ok, well i'll let you get wherever you're gunna get today (you've made a bunch of progress) - then I'll probably try to add the multi-fi suffix parts onto the ec diskfiles and trailing filter onto yeild hashes etc | 16:59 |
acoles | clayg: no changes to reader. | 17:00 |
notmyname | I like tdasilva's versioned writes patch just because the proxy test get better | 17:00 |
clayg | do they? | 17:00 |
clayg | tdasilva: on the EC PUT stuff - anything else you see like the outgoing_headers pull that takes common tasks out of both implementations would be great - you might try to work up from _get_put_responses | 17:01 |
acoles | clayg: i think i need to change how the places where DiskFile* classes map a method to strip_self(method)... | 17:02 |
clayg | tdasilva: maybe after another pass at that we can try but the lines on master | 17:02 |
acoles | clayg: i ned them to map to the manager method (which may in default map to the module level func) | 17:03 |
*** Bsony has joined #openstack-swift | 17:03 | |
clayg | acoles: bummer - that seemed like it was going to work for me | 17:03 |
tdasilva | clayg: do you think we should squash both patches? or is it easier to review them as separately? | 17:03 |
acoles | clayg: just so i can override the method in manager and have the diskfile pick up the override, not keep using the module func | 17:03 |
clayg | tdasilva: i don't care about that on feature/ec - if it's easier for you to work with just squash them | 17:04 |
tdasilva | clayg: "but the lines on master" ??? | 17:04 |
clayg | probably meant "put" - my point was just that where the fucntion cuts get made depend mostly on where the ECObjectController get's the most milage out of the common methods | 17:04 |
clayg | and once we know where things shake out - we can use those as the breaking points for a patch on master that is just a refactoring of that method - the sinister purpose will only reveal it self the week after after next when EC patches start coming up | 17:05 |
clayg | acoles: but that's what strip_self was all about - it attaches the name to class - and in the subclass you just redefine it there | 17:06 |
clayg | acoles: like the Manager should already have self.hash_cleanup_listdir and self._get_hashes - did i miss one? | 17:07 |
*** dmorita has joined #openstack-swift | 17:08 | |
acoles | clayg: its not a huge deal - right now i have to both override a method in a manager class AND override the writer to attach to the manager method (and I missed that second piece :/) | 17:12 |
acoles | clayg: if by default the write (for exampl) attached to its manager method, then overriding the manager method would be sufficient | 17:12 |
clayg | acoles: yeah i was worried about that too | 17:13 |
mahatic_ | notmyname, hi! I have been quite stuck at the implementation of storage policies in recon. I'm only trying for the validate servers part for now. I took a cue from here https://review.openstack.org/#/c/138697/ | 17:13 |
*** jistr has quit IRC | 17:14 | |
clayg | acoles: the df get's reference to the manager - but he doesn't pass that to the reader/writer? but writer gets a diskfile now right? | 17:14 |
clayg | self.diskfile.mgr.hash_cleanup_listdir? | 17:14 |
acoles | clayg: and DiskFile has a ref to its manager, so I could just make calls e.g. to self._mgr.get_ondisk_files? think i need to | 17:15 |
acoles | clayg: oh, saying same thing :) | 17:15 |
clayg | wfm | 17:15 |
acoles | and yes the writer gets a ref to diskfile now so thats where i was heading | 17:15 |
clayg | it's all so crazy | 17:15 |
mahatic_ | notmyname, I figure I need to extract the policy key in obj/server.py. But I am not sure where do I put that info and call that in recon.py. I was thinking I should implement a new method in recon.py (in Scout) to extract the policy key info from obj/server.py | 17:15 |
mahatic_ | does it make sense? :) | 17:16 |
clayg | it'll be nice to go back and clean this up seperate from trying to deliver the feature | 17:16 |
acoles | clayg: i'll play with it and see how it falls out | 17:16 |
clayg | ok, i'm going to get dressed and start my commute - acoles if you need to quit out i'd appreciate any thoughts you had on what I could do tonight to help carry things forward | 17:17 |
acoles | clayg: you mean i have been talking to you undressed !! sure, wherever i get to i'll leave status on the gerrit review | 17:17 |
notmyname | mahatic_: so you see how dmorita's patch return info for each policy? basically you'll need something like that for the other recon functions. and then you'll need to aggregate/report properly in cli/recon.py | 17:18 |
notmyname | mahatic_: you caught me just in time. I was about to step out | 17:18 |
mahatic_ | notmyname, oh great :) So yeah I do see how it is returning policy info. But to have that info in cli/recon.py. I should first put in obj/server.py, correct? | 17:19 |
notmyname | mahatic_: right. the object server would need to return it | 17:19 |
mahatic_ | notmyname, I mean I get server type from OPTIONS in object server. Similarly I could put this info any place and get it I believe | 17:20 |
notmyname | mahatic_: but with --validate-servers, you aren't actually doing a /recon/... query. so there's nothing needed in the object server for that functionality | 17:20 |
notmyname | mahatic_: the last part is an update to the recon cli to filter based on policy (like you can currently on region, zone, etc) | 17:21 |
mahatic_ | notmyname, right. I'm not doing any /recon/. But I need object server to send me policy key info (through init or any other function) | 17:22 |
notmyname | mahatic_: so eg I could do `swift-recon -p banana --validate-servers` and check in the banana policy. or make it require the policy index. whatever is easier | 17:22 |
notmyname | mahatic_: not for --validate-servers. all you need to do on that one is know which servers to query (right?) | 17:22 |
mahatic_ | notmyname, hmm and add the policy filter in recon cli itself? | 17:24 |
notmyname | right. an operator wants to validate or check a certain subset of the cluster. right now it only loads in the legacy object ring and there's no way to specify any other ring. | 17:25 |
openstackgerrit | OpenStack Proposal Bot proposed openstack/swift: Updated from global requirements https://review.openstack.org/88736 | 17:26 |
mahatic_ | notmyname, but I need to fetch the policy info from somewhere right? I can't just add the filter "policy" and have it working I think | 17:26 |
notmyname | mahatic_: so not every recon function needs to report stuff about policies. some do, but some, like --validate-servers, don't. but filtering the hosts you're querying in the cli by policy is an important piece of functionality | 17:26 |
*** jbonjean has quit IRC | 17:26 | |
notmyname | mahatic_: ya, it's in swift.conf | 17:26 |
mahatic_ | notmyname, ow okay | 17:27 |
notmyname | mahatic_: maybe a super simple first step is just to allow the actual ring file to be passed in on the command line | 17:27 |
notmyname | instead of trying to parse the options to find one to load | 17:27 |
mahatic_ | notmyname, okay. and not like this :swift-recon --validate-servers object-1 | 17:28 |
notmyname | right now, recon takes the {account,container,object} parameter. if it's "object" it loads object.ring.gz. you could just allow it to take object-N to load object-N.ring.gz | 17:28 |
mahatic_ | sure | 17:28 |
notmyname | :-) | 17:28 |
mahatic_ | so something like what I gave | 17:28 |
notmyname | right | 17:28 |
mahatic_ | :) | 17:28 |
notmyname | looks like we're thinking in the same way | 17:28 |
mahatic_ | heh | 17:28 |
notmyname | mahatic_: make sense? are you good? | 17:28 |
mahatic_ | notmyname, I think so. I'll get into that now. I'll post back since you gotta leave now | 17:29 |
notmyname | mahatic_: great! | 17:30 |
mahatic_ | notmyname, thanks! | 17:30 |
notmyname | I'll be back online in about 45 minutes | 17:30 |
mahatic_ | okay great. I'll try it out by then | 17:30 |
*** jordanP has quit IRC | 17:33 | |
*** Gue______ has joined #openstack-swift | 17:38 | |
*** lpabon has joined #openstack-swift | 17:39 | |
*** reed has joined #openstack-swift | 17:42 | |
*** joeljwright1 has joined #openstack-swift | 17:43 | |
*** joeljwright has quit IRC | 17:45 | |
ctennis | so a container PUT to a container that already exists and returns a 202 response still triggers an account server update. That seems unnecessary, thoughts? | 17:51 |
*** gyee has joined #openstack-swift | 17:55 | |
*** jbonjean has joined #openstack-swift | 17:57 | |
*** vinsh_ has joined #openstack-swift | 18:02 | |
*** Gue______ has quit IRC | 18:02 | |
*** vinsh has quit IRC | 18:05 | |
*** aix has quit IRC | 18:06 | |
torgomatic | ctennis: probably unnecessary, but darn nice for testing with | 18:08 |
torgomatic | you can PUT all your containers real quick, then go look at the account and see what the data looks like there | 18:08 |
*** zaitcev has joined #openstack-swift | 18:09 | |
*** ChanServ sets mode: +v zaitcev | 18:09 | |
torgomatic | I mean, yes, I can go run swift-container-updater by hand a bunch, but I'm lazy | 18:09 |
ctennis | torgomatic: in the sense where I'm seeing it, imagine someone who is trying to deterine if container exists by HEADing it, and then PUTting it if not. | 18:11 |
ctennis | torgomatic: imagine a heavily loaded cluster where HEADs take long enough sometimes thye return 404s even though it does exist | 18:11 |
ctennis | torgomatic: so they end up doing a lot of PUTs unnecesssarily | 18:11 |
ctennis | torgomatic: which then bogs down this one single account db | 18:11 |
ctennis | and by the way, those PUTs bog down additional HEADs | 18:12 |
torgomatic | ctennis: yeah, that app needs some help... the efficient way is to try an object PUT, and on 404, PUT the container | 18:12 |
ctennis | torgomatic: good idea | 18:13 |
*** geaaru has quit IRC | 18:18 | |
ctennis | so torgomatic part of the issue is they are getting 404 on object PUT even though the container DOES exist | 18:27 |
ctennis | torgomatic: looking at the cluster a little bit , ican find requests where the proxy is returning a 404 very quickly and the transaction ID doesn't exist in any of hte other logs | 18:27 |
ctennis | wonder what condition would cause that | 18:28 |
ctennis | is that info somehow cached in memcached? | 18:29 |
mahatic_ | notmyname, the hosts are currently filtered on region, port etc because it has those keys in devices dictionary (http://docs.openstack.org/developer/swift/overview_ring.html#list-of-devices) but there is no such thing as a policy to filter upon. | 18:30 |
torgomatic | ctennis: no idea | 18:30 |
clayg | acoles: oh don't get too excited - i was just in my pj's | 18:30 |
acoles | clayg: i've calmed down now ;) just applying some more of the multi-frag stuff (ssync changes) on top of per policy, then i think i will push and hand over to you to apply the hash-suffix pieces | 18:31 |
clayg | acoles: sounds like a winning plan! | 18:33 |
*** mahatic_ has quit IRC | 18:35 | |
*** welldannit has joined #openstack-swift | 18:35 | |
clayg | tdasilva: so patch 164950 is out-of-date - are you working on the rebase or squash - or should I keep hacking on it? | 18:35 |
patchbot | clayg: https://review.openstack.org/#/c/164950/ | 18:35 |
clayg | tdasilva: I've got a few I think before acoles hands over the diskfile work (really hoping to get the multi-fi and hash square for you today peluse!) | 18:36 |
tdasilva | clayg: i'm working on rebase + pulling more common stuff | 18:36 |
tdasilva | I can send a new patchset now so you can see where i'm at... | 18:36 |
clayg | tdasilva: yeah push anytime failing tests w/e | 18:36 |
clayg | tdasilva: but it's no big deal - if you're making progress I've got another thing to work on - ignore me if it's a distraction | 18:37 |
tdasilva | clayg: was playing with _get_put_responses | 18:37 |
tdasilva | they look _almost_ identical | 18:37 |
tdasilva | it's the _almost_ that makes things harder | 18:38 |
tdasilva | :P | 18:38 |
clayg | yuanzz: I'm checking out the internal client string config thing - when I rubber duck'd it with peluse torgomatic and notmyname I came up with something that will be harder to describe as the worst hack evar | 18:38 |
clayg | tdasilva: *so close* | 18:38 |
*** cebruns has quit IRC | 18:39 | |
*** cebruns has joined #openstack-swift | 18:39 | |
*** welldannit has quit IRC | 18:41 | |
*** welldannit has joined #openstack-swift | 18:41 | |
ctennis | torgomatic: I guess the point is that a 404 from an object PUT isn't a proven indicator that the container doesn't exist | 18:42 |
torgomatic | ctennis: it's an eventually-consistent system; all you ever get are semipredicates | 18:43 |
ctennis | torgomatic: I smell a bug here | 18:46 |
clayg | ctennis: well there is the one bug where if you shutdown your all your container servers instead of a nice 503 you get 404 on object PUT | 18:46 |
ctennis | clayg: perhaps that's what's happening here then | 18:47 |
clayg | ctennis: same would probably apply if all the container servers were mis-configed or 507'ing | 18:47 |
ctennis | clayg: they are so overloaded they take way too long to respond | 18:47 |
*** mahatic has joined #openstack-swift | 18:47 | |
ctennis | clayg: when I do an object PUT, how does the proxy know if the container already exists or not? | 18:47 |
clayg | ctennis: yeah that could be a thing then - i'm pretty sure we have an open bug for that | 18:47 |
clayg | ctennis: every 30 seconds it'll do a "container existence check" - which is basically a HEAD on the container - which will do all the "dig into handoffs" dance to try and find one - but if it can't it returns like basically the equivilant of "None" - which the object controller thinks means 404 | 18:48 |
ctennis | clayg: and it keeps that info cached in memory? | 18:48 |
clayg | ctennis: in memcache for 30 seconds by default | 18:49 |
ctennis | I wonder if that's configurable | 18:49 |
clayg | ctennis: there was this one time where we accidently kept it around a lot longer - but redbo fixed it | 18:49 |
clayg | ctennis: yeah it is | 18:49 |
*** mahatic has joined #openstack-swift | 18:50 | |
mahatic | notmyname, maybe I could add a 'policy' key for devices dictionary, in RingData? | 18:51 |
notmyname | mahatic: the policy filtering is done on a per-ring basis. there's nothing needed inside the ring | 18:52 |
clayg | per policy *devices*!!! | 18:52 |
notmyname | mahatic: a ring == a policy. so selecting a ring == selecting a policy | 18:52 |
clayg | torgomatic: is going to kill us | 18:52 |
notmyname | clayg: no! | 18:52 |
notmyname | lol | 18:52 |
mahatic | :D | 18:53 |
mahatic | notmyname, oh okay | 18:53 |
*** shri has joined #openstack-swift | 18:54 | |
*** vinsh_ has quit IRC | 19:02 | |
*** vinsh has joined #openstack-swift | 19:03 | |
mahatic | notmyname, it almost already does that. I just need to allow self.check_types = ['account', 'container', 'object'] to have object-N, so maybe I could go ahead with the actual implementation instead of object-N as a first step | 19:04 |
mahatic | notmyname, So now the reporting should be -p policyname? | 19:05 |
openstackgerrit | Alistair Coles proposed openstack/swift: Per-policy DiskFile classes https://review.openstack.org/165125 | 19:06 |
openstackgerrit | Alistair Coles proposed openstack/swift: Add fragment index support to obj server and ssync https://review.openstack.org/165188 | 19:06 |
*** tacotuesday has quit IRC | 19:06 | |
acoles | clayg: ^^ over to you, think its the hash suffix stuff left to apply from the original multi-frag-index patch | 19:07 |
clayg | acoles: like to your knowledge you got the rest of it in there? | 19:07 |
acoles | clayg: i've put the ssync and obj server changes in patch 165188 (dependent) | 19:07 |
patchbot | acoles: https://review.openstack.org/#/c/165188/ | 19:07 |
acoles | clayg: 'to the best of my knowledge' | 19:08 |
notmyname | mahatic: ya. if object-N is supported, I'm not as worried about a --policy switch | 19:08 |
acoles | clayg: there are some changes in test_diskfile that i'm not sure are needed - duplicated by the new tests i put in there for HCL and GOF | 19:09 |
clayg | acoles: ok, that looks awesome | 19:09 |
mahatic | notmyname, oh okay. you mean just add a support object-N and --validate-servers is taken care of for diff policies. And I could move on to some other part of recon or something else? | 19:10 |
notmyname | that would be the minimum, I think | 19:11 |
acoles | clayg: tbh its pretty hard to track, so i may have missed something - stuff I have NOT copied: changes in replicator.py, auditor etc, changes to invalidate_hash (but there's a hook in ECDiskFileWriter to add frag_index as a kwarg to invalidate_hash) | 19:11 |
acoles | clayg: i got one other separate patch to apply over per-policy - change to the write_durable, think that is separable though | 19:12 |
mahatic | notmyname, do you have any suggestions for what's next? | 19:13 |
*** silor1 has joined #openstack-swift | 19:13 | |
*** silor has quit IRC | 19:14 | |
*** vinsh_ has joined #openstack-swift | 19:14 | |
clayg | acoles: k, sounds good | 19:17 |
*** vinsh has quit IRC | 19:17 | |
*** aix has joined #openstack-swift | 19:21 | |
*** shri1 has joined #openstack-swift | 19:22 | |
*** vinsh has joined #openstack-swift | 19:23 | |
*** shri has quit IRC | 19:24 | |
*** NM has joined #openstack-swift | 19:24 | |
*** vinsh_ has quit IRC | 19:25 | |
*** tsg_ has joined #openstack-swift | 19:32 | |
*** tgohad has joined #openstack-swift | 19:36 | |
*** tsg_ has quit IRC | 19:39 | |
*** NM has left #openstack-swift | 19:40 | |
*** kutija has joined #openstack-swift | 19:41 | |
*** eranrom has joined #openstack-swift | 19:41 | |
*** jkugel has joined #openstack-swift | 19:41 | |
openstackgerrit | Thiago da Silva proposed openstack/swift: Validate the PUT method extraction for EC https://review.openstack.org/164950 | 19:46 |
tdasilva | clayg: ^^^ not much here besides rebase. finding the same issues you mentioned in the commit msg regarding adopting the Putter class pattern in replica | 19:47 |
tdasilva | clayg: but I think we should hold off on doing that to not disturb replica code until after release, even if that means some duplicated code in the EC code | 19:48 |
clayg | tdasilva: i'm on the same page as you on that one! | 19:52 |
openstackgerrit | Clay Gerrard proposed openstack/swift: Update contianer sync to use internal client https://review.openstack.org/143791 | 19:54 |
openstackgerrit | Clay Gerrard proposed openstack/swift: Bypass paste.deploy's loadcontext to read a config from a string https://review.openstack.org/163209 | 19:54 |
*** setmason has joined #openstack-swift | 19:56 | |
setmason | Anybody have a list of specific loadbalancer features that swift can take advantage of? | 19:58 |
setmason | I’m not looking for makes/models/brands | 19:58 |
torgomatic | setmason: eh, any old one will do, pretty much... the proxies are basically stateless, so just balancing load across them is really all Swift needs | 20:00 |
torgomatic | that and SSL termination | 20:00 |
torgomatic | (if you don't want to use stud/tengine/whatever for that as a separate step) | 20:00 |
*** tsg_ has joined #openstack-swift | 20:01 | |
*** tgohad has quit IRC | 20:02 | |
*** lpabon has quit IRC | 20:02 | |
*** fifieldt has quit IRC | 20:08 | |
*** aix has quit IRC | 20:09 | |
*** mahatic has quit IRC | 20:11 | |
tdasilva | clayg: so if I'm understanding your plan correctly, it is probably worth updating patch 156825 with what we did in ec branch? | 20:12 |
patchbot | tdasilva: https://review.openstack.org/#/c/156825/ | 20:12 |
clayg | tdasilva: the more we feel like that method extraction is working for ECObjectController the more we want to be able to diff the common changes of the Replicated object controller with master post PUT method extraction | 20:16 |
clayg | tdasilva: I definately think we need to update patch 156825 right ontop of master - but I also don't want to review and merge it until we think we're done refactoring the replicated PUT path | 20:16 |
patchbot | clayg: https://review.openstack.org/#/c/156825/ | 20:16 |
clayg | tdasilva: OTOH, if we think we're getting *close* it may be smart to start sooner than later given our timeline - just knowning that future improvements to PUT on feature/ec may require either additional replicated PUT path refactoring when we go to merge feature/ec - or updating the refactoring change on both feature/ec and master | 20:17 |
clayg | tdasilva: i'm open to your thoughts - if you think now is the time to look at the method refactoring on master - I'd encourage you to go for it! | 20:19 |
clayg | tdasilva: it's not like there's a risk it's going to get reviewed on master "too" quickly | 20:19 |
tdasilva | clayg: yeah...just trying to weigh all the options and considering our timeline | 20:20 |
clayg | and it may be informative to start to be able to git diff refactor-on-master validate-ec-put-method-extraction and see if we're achiving our goal of "minimal changes to replicated PUT path post refactoring" | 20:20 |
*** fifieldt has joined #openstack-swift | 20:21 | |
clayg | tdasilva: I think i'd like to take another sweep at patch 164950 after your changes and see if there's anything else we can eek out to common | 20:21 |
patchbot | clayg: https://review.openstack.org/#/c/164950/ | 20:21 |
tdasilva | clayg: that's where I was about to start | 20:22 |
clayg | tdasilva: so it would acctually probably be very helpful if you could start to take the method signatures from patch 164561 as a starting point and try to get it up against master | 20:22 |
patchbot | clayg: https://review.openstack.org/#/c/164561/ | 20:22 |
clayg | it's going to need some additional tests for the master merge - so if you can get the code mostly beat into shape - I can help iterate on making it mergeable and sync in any last minute common code extractions I'm able to get out of a subsequent pass | 20:23 |
tdasilva | yeah...I'm guessing even if there's more common code to extract, it should be a whole lot | 20:23 |
tdasilva | so we can update it again | 20:23 |
clayg | but I also need to help acoles & peluse get the per-policy-diskfile with per-fi-suffix-hash tracking ready | 20:23 |
clayg | tdasilva: ok, sold! You go do a bunch of extreamly helpful work and I'll sit back here and armchair quarterback. | 20:24 |
tdasilva | lol | 20:24 |
clayg | i acctually have a meeting in 10mins | 20:24 |
tdasilva | alright...have fun | 20:24 |
clayg | ... in a *meeting*? maybe redhat does things differently... | 20:25 |
*** aix has joined #openstack-swift | 20:25 | |
openstackgerrit | Thiago da Silva proposed openstack/swift: versioned writes middleware https://review.openstack.org/134347 | 20:29 |
*** eranrom has quit IRC | 20:29 | |
tdasilva | he | 20:30 |
openstackgerrit | Alistair Coles proposed openstack/swift: Diskfile decides if durable is written based on policy https://review.openstack.org/165208 | 20:33 |
acoles | peluse: clayg: ^^ thats mean done for today, last of my changes stacked onto per-policy router | 20:34 |
acoles | s/mean/me/ :/ | 20:35 |
acoles | peluse: clayg: let me know if there's stuff i can pick up on in (my) morning | 20:36 |
*** Bsony has quit IRC | 20:42 | |
*** acoles is now known as acoles_away | 20:43 | |
*** silor1 has quit IRC | 20:52 | |
*** vinsh_ has joined #openstack-swift | 21:11 | |
*** vinsh has quit IRC | 21:13 | |
mattoliverau | Morning | 21:14 |
*** bsdkurt has quit IRC | 21:16 | |
*** vinsh_ has quit IRC | 21:18 | |
dmsimard | Why would Swift be creating folders in 644 ? | 21:31 |
dmsimard | I've added new nodes to an existing cluster | 21:31 |
dmsimard | Ring was rebalanced and distributed, replication is occuring but eventually seeing permission denied errors in the logs | 21:32 |
dmsimard | Looking, I noticed Swift was creating folders in 644: http://paste.openstack.org/raw/192984/ | 21:32 |
dmsimard | Hm, looks like it might be due to rsync config | 21:37 |
*** nellysmitt has quit IRC | 21:40 | |
peluse | acoles_away, fine work today man! | 21:40 |
*** nellysmitt has joined #openstack-swift | 21:41 | |
*** nellysmitt has quit IRC | 21:46 | |
zaitcev | dmsimard: please share so we know what config to avoid | 21:49 |
dmsimard | zaitcev: It looks like the culprit is this: https://github.com/puppetlabs/puppetlabs-rsync/blob/master/manifests/server/module.pp#L13-L14 | 21:49 |
dmsimard | The puppet recipes end up setting an incoming chmod and outgoing chmod to 644 | 21:49 |
dmsimard | Looking at sample configs (ex: SAIO) it looks like this parameter is simply not set | 21:50 |
dmsimard | I might be crazy, but testing it now.. | 21:50 |
zaitcev | V.curious | 21:51 |
zaitcev | wait, did you change uid and gid at least? They are 0 in that puppet module, aren't they. | 21:52 |
dmsimard | yeah | 21:52 |
zaitcev | right, your paste with ls shows swift.swift | 21:53 |
dmsimard | Except we don't send a chmod to rsync: https://github.com/stackforge/puppet-swift/blob/master/manifests/storage/server.pp#L49-L56 | 21:53 |
dmsimard | Trying to understand what that directive does exactly .. don't want to blindly set incoming chmod to 755 so that even files will be in 755.. | 21:56 |
*** jkugel has quit IRC | 21:56 | |
*** ipolyzos has left #openstack-swift | 22:00 | |
dmsimard | yeah, looks like what I want is Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r (directory 755, file 644) | 22:03 |
*** welldannit has quit IRC | 22:05 | |
*** vinsh has joined #openstack-swift | 22:10 | |
*** jrichli has quit IRC | 22:26 | |
openstackgerrit | Thiago da Silva proposed openstack/swift: Refactoring the PUT method https://review.openstack.org/156825 | 22:35 |
clayg | tdasilva: nice is that the one against master? | 22:36 |
tdasilva | clayg: yep | 22:36 |
peluse | sweet | 22:37 |
notmyname | tdasilva: who or what is marula kruger? | 22:37 |
peluse | after I crawl out from the under the reconstructor I'll look too | 22:37 |
tdasilva | clayg: thinking that we might still have a chance to get versioning and this refactor in main pre-ec, then it should be easy to merge your patch 164950 | 22:37 |
patchbot | tdasilva: https://review.openstack.org/#/c/164950/ | 22:37 |
tdasilva | notmyname: lol, just some dumb name | 22:38 |
tdasilva | gotta step out for now but will be back later | 22:39 |
clayg | tdasilva: bah - you left the change on master depending on the object-versioning | 22:43 |
clayg | tdasilva: even if we can versioning in we should flip 'em IMHO | 22:43 |
peluse | AAAAAAHHHHHHH! All freaking day debuggin ECrecon revert - finally found the problem! | 22:50 |
*** reed has quit IRC | 22:53 | |
*** setmason has quit IRC | 23:02 | |
clayg | peluse: whoot! | 23:02 |
clayg | nice work! | 23:02 |
peluse | well, its pretty embarrassing how long it took. you'll laugh when I tell you the problem, man I need some more schooling :) | 23:03 |
*** Guest___ has joined #openstack-swift | 23:15 | |
*** dmorita has quit IRC | 23:26 | |
peluse | clayg, there still? | 23:29 |
*** dmorita has joined #openstack-swift | 23:30 | |
notmyname | peluse: he's not at his desk (but his computer is) | 23:40 |
*** nellysmitt has joined #openstack-swift | 23:42 | |
peluse | notmyname, no prob. it can wait til tomorrow | 23:42 |
openstackgerrit | paul luse proposed openstack/swift: wip: ec probe test https://review.openstack.org/164291 | 23:45 |
*** nellysmitt has quit IRC | 23:47 | |
*** tsg_ has quit IRC | 23:49 | |
*** david-lyle is now known as david-lyle_afk | 23:50 | |
*** joeljwright1 has quit IRC | 23:51 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!