21:00:27 #startmeeting swift 21:00:28 Meeting started Wed Jun 10 21:00:27 2015 UTC and is due to finish in 60 minutes. The chair is notmyname. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:00:29 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:00:31 The meeting name has been set to 'swift' 21:00:34 who's here for the swift meeting? 21:00:37 ✔️ 21:00:41 hello 21:00:42 o/ 21:00:43 o/ 21:00:43 hello 21:00:44 o/ 21:00:46 hi 21:00:47 hi 21:00:48 o/ 21:00:49 o/ 21:00:55 o/ 21:01:05 \o/ 21:01:18 o/ 21:01:23 hi 21:01:26 o/ 21:01:40 welcome! 21:01:42 so as I said^Wthreatened in vancouver, I've been spending some time on figuring out what's going on 21:01:54 which means we have a lot of stuff on the agenda today 21:01:59 #link https://wiki.openstack.org/wiki/Meetings/Swift 21:02:13 so let's get started and see how far we can make it 21:02:27 #topic python 3 21:02:30 I bet we get all the way to the end of the meeting by the time we're done 21:02:39 first up, python 3 21:02:52 torgomatic: wise words 21:02:53 this is an ongoing discussion in the larger openstack community 21:03:02 but for us specifically, what are we doing? 21:03:24 specifically, if we start now with supporting py3, we'll be adding a new dependency 21:03:28 I see ss-python-six already in my builds so I'm down with adding the depends 21:03:35 #link https://review.openstack.org/#/c/189495/ 21:03:37 python3 for the win! 21:03:48 yeah, it's already a dependency for swiftclient 21:03:52 and other openstack things 21:03:58 but not yet for swift server-side 21:04:24 notmyname, six is the defacto choice to add py3 support to a python project 21:04:27 notmyname: what about python-future - it's like six - but with support upstream? 21:04:39 clayg: I don't know about it 21:04:43 tell me more :-) 21:04:44 seems like we need it by 2016-04 since that's when the new Ubuntu LTS will show up with py3 by default 21:04:56 notmyname: maybe i should just ask on the ML -> http://python-future.org/ 21:05:10 six is now used in all oslo projects, a lot of dependencies and more and more openstack applications 21:05:17 seems that six is how the rest of openstack is doing it 21:05:20 better -> http://python-future.org/faq.html#what-is-the-relationship-between-future-and-six 21:05:51 clayg, what do you mean by "support upstream" for python-future? 21:06:23 clayg: do you think we should hold off on six because of questions around python-future that should be answered first? 21:06:30 #link https://wiki.openstack.org/wiki/Python3#Port_Python_2_code_to_Python_3 21:06:42 yes, six is the choice to add python 3 support in openstack 21:07:11 haypo: I need to dig up the link - there was a pep somewhere 21:07:49 clayg, i'm a python core developer and i'm not aware of this pep :-/ 21:08:02 lol - perhaps I'm mistaken then! 21:08:26 haypo: hang on, I want to hear what clayg says about holding off on six if there are other questions he has :-) 21:08:41 clayg, all PEPs are listed here: https://www.python.org/dev/peps/ 21:09:35 do you know applications using python-future? i'm not aware of any project using python-future :-/ 21:10:37 haypo: i don't thik clayg is saying we have to use python-future, he just raised a question of something that maybe we should look at 21:10:38 let's move on, come on 21:10:52 yeah don't wait on me 21:10:55 * notmyname is waiting for clayg 21:11:00 notmyname: stop it :P 21:11:04 heh 21:11:12 I'm fine with six - like I said I already had it packaged 21:11:19 clayg: do you think there are question about python-future that need to be answered ? 21:11:49 ie before using six? 21:11:53 clayg, (python 3 has a builtin concurrent.futures modules, this module was backported as "futures" for python 2 on PyPI. the module has a PEP. is it the "futures" PEP?) 21:12:05 awhile back portante said if we wait long enough on py3 the industry will standardize on the tools to run a 2/3 compatible code base and we just follow that instead of trying to cut the path - i wasn't sure if the winners have already been picked 21:12:24 I do like futures.install_aliases() instead of form six import name 21:12:38 ok 21:13:08 but, as you said earlier, you're ok with six 21:13:22 clayg, "the industry will standardize" you didn't answer. do you know if python-future is used? i'm not aware of any project using it. does openstack have this dependency in global requirements for example? 21:14:00 i cannot find python-future on PyPI!? 21:14:03 haypo: sorry man, but I think you mis-understood my question - i'm not advocating 21:14:09 haypo: hold on. nobody is attacking using six 21:14:32 btw which version of py3 should we support? latest? 21:14:45 the question is only about adding the dependency of six to swift today. is that something that should be done 21:15:00 ho, in openstack, it was decided to focus on 3.4 21:15:09 haypo: thanks! 21:15:10 ho, oslo already dropped 3.3 support 21:15:16 haypo: https://pypi.python.org/pypi/future 21:15:36 clayg, oh thanks :) 21:15:36 the fact that openstack projects are converging on six is strong support for six 21:15:37 if we want to deal with python 3 now, then we should add six (or whatever) now... the more interesting question to me is whether we want to deal with it now or push it off until later 21:15:45 torgomatic: yes, that 21:15:48 I don't know, every time someone says "X is the openstack choice", it makes me think we should do something completely different. 21:15:54 redbo: :-) 21:15:55 redbo: lol 21:15:58 so no, "future" is not in openstack global requirements 21:15:59 :) 21:16:05 redbo: which is why I like talking about other stuff that's out there :-) 21:16:11 redbo wins this meeting 21:16:15 lol 21:16:48 ok, the question is if anyone things we should NOT do six/py3 compat today (ie start the patches now instead of later) 21:17:00 torgomatic, i started to send py3 patches to swift because almost all dependencies are now python3 compatible 21:17:10 notmyname: so can you make a "chore" task to try and ask on the ML if anyone knows of any projects (not openstack) that are choosing python-future instead of six for the single code base that runs on python 2 or 3 strategy 21:17:14 so, my opinion: I don't want to deal with python 3 right now. There's enough stuff to do with fixing all the damage EC did when it went in, among other things, that it's not a priority for me. HOWEVER 21:17:21 notmyname: oh i mean - chore for me 21:17:29 notmyname: well anyway - point is - I'll do the email 21:17:41 only pyeclib doesn't support py3 yet, and i sent a patch for that 21:17:45 if other people want to take on the effort, I won't object. I'm just not going to make py3 stuff a priority right now. 21:17:47 https://bitbucket.org/kmgreen2/pyeclib/pull-request/24/fix-python-3-issues/diff 21:18:00 notmyname: but back to torgomatic's question I'd be keen on "not standing in the way of someone who wants to work on swift python3" 21:18:21 notmyname: as in I can run unitests against python3 just fine - so if someone makes that work i'll make sure I don't regress it 21:18:33 that is the impression I get from others: not a priority but would support someone else doing it 21:18:47 ho: redbo: acoles: do you agree? 21:18:54 tdasilva: 21:18:59 zaitcev: 21:19:08 sure 21:19:14 notmyname: i agree 21:19:35 clayg, my plan for swift is that same than other openstack projects (i'm porting nova, ceilometer, glance & swift to py3): add a py34 gate as soon as possible, and make it voting 21:19:38 (unfortunately, in swift, we are the people who get to actually support it. we can't just punt to someone else) 21:20:15 notmyname: you know with dropping py2.6 I already sorta feel like we got a whole new python 21:20:20 :-) 21:20:41 ok, so here's a resolution: 21:20:47 notmyname: agree but would like a gate job to avoid regressions 21:21:12 let's add the dependency for six today, and allow the py3 patches to continue. propose and review as other patches 21:21:16 haypo: oh no wonder you're all up in my grill about something different - you'd be the one dealing with the different :P 21:21:45 haypo sounds like he's keen to make it work, and we already use six in swiftclient so lets add it as a dependancy 21:22:03 anyone opposed to starting the py3 patches in swift? ie saying that we will review and maintain py3 code in swift? 21:22:36 some time in the future we have to do it, and if there are volunteers right now that’s fine IMO 21:22:41 sounds good to me. should the py34 gate be done before any patches go in? 21:22:45 notmyname, the more important side effect is that new code will have to be compatible with py3, developers will have to be aware of python3 21:22:56 ho: which brings up the testing issue 21:22:59 haypo: ^ 21:23:20 notmyname, which issue? 21:23:25 haypo: can you propose a -infra test and the necessary swift tox.ini changes to add a py34 test? 21:23:30 we could add a py3 tox env? 21:23:33 haypo: the fact that we need it :-) 21:23:41 notmyname, sure, that's part of my plan ;) 21:23:42 cschwede: yeah, that's what I'm asking haypo to do 21:24:00 haypo: great. then I'd like to see that ASAP. sooner the better 21:24:03 ok 21:24:04 yes, posted at the same time :) 21:24:12 notmyname, today, it doesn't make sense because there are too many failures. we need most of the py3 patches that i submited to run a subset of tests on py 3.5 21:24:15 py 3.4* 21:24:25 notmyname, i agree (ASAP) 21:24:31 #agreed allow for the new six dependency and py3 changes in swift 21:24:44 haypo: I want to see it added as non-voting asap, even if it fails today 21:25:08 #action haypo to add a py3 check job (non-voting) to swift 21:25:09 notmyname, ok, i can do that 21:25:12 haypo: thanks 21:25:20 ok, moving on :-) 21:25:25 coolness 21:25:29 notmyname: do we have a "grace" period while the py34 tests is non-voting - or do any pending reviews that fail have to be fixed by their authors? 21:25:33 haypo: thank you for your work on this 21:25:35 anything that helps knowing if we re-introduce 2.x code 21:25:49 notmyname, you're welcome. you can help by reviewing patches :-D 21:25:52 acoles: I think that's ok. I'd say use your discression as a reviewer 21:26:10 notmyname: ok but that implies the gate job is non-voting 21:26:22 acoles: it will have to be initially 21:26:26 cool 21:26:30 #topic priority reviews 21:26:36 ok, first general question 21:26:53 at the summit we got a great list of stuff to improve from ops 21:27:07 however, I'm not sure really how to highlight those feature requests 21:27:17 is there an etherpad? 21:27:28 ...somewhere... ;-) 21:27:45 tdasilva: summary list on https://wiki.openstack.org/wiki/Swift/PriorityReviews 21:28:02 perfect, thanks 21:28:04 question is, do we keep trackign them there on a wiki page, or do we need something else? 21:28:14 #link https://etherpad.openstack.org/p/liberty-swift-ops-feedback 21:28:19 these don't have patches yet, so gerrit doesn't help 21:28:21 mattoliverau: thanks 21:28:31 mattoliverau: thanks 21:28:33 here's something I'm thinking, and I'd love your feedback 21:28:59 start using the priority reviews wiki page as a place to track what's going on and stuff that should be prioritized for new stuff (like ops requests) 21:29:17 and use only the gerrit dashboards to prioritize patches to review 21:29:32 (the change is that we used to list patches to review on the priority reviews wiki page) 21:29:35 what do you think? 21:29:45 +1 21:30:01 that sounds sensible, and there's no point listing patches in review twice 21:30:11 notmyname: how about using launchpad bugs with Importance as wishlist? 21:30:19 The name prioroty reviews might need to change tho 21:30:52 tdasilva: I think that's a good idea, but LP bugs are rather crude for tracking stuff. IMO they're only marginally good for tracking bugs. and pretty terrible for "todo tasks" 21:31:07 (I'll get to bugs later in the meeting) 21:32:10 eg one reason LP bugs are bad for todo tasks is becausee the status are new, confirmed, fix released, invalid, etc. not stuff that maps well to new features 21:32:29 notmyname: imho its great to have the wiki as a place that summarise whats going on, it was good having the reviews listed there but we can experiment with managing that through gerrit and see how it works 21:32:30 notmyname: it's just that you can add comments to them, start building a history on the discussion and what not 21:33:06 tdasilva: hmm..I'll have to think more on that. it's a good point 21:33:09 acoles: +1 21:33:40 acoles: +1 21:33:51 notmyname: you started doing such a great job with LP bugs grooming! :D 21:33:58 ok, I'll keep the wiki as an overview of stuff going on and the dashboard as a way to track priority reviews 21:34:05 tdasilva: "started". lots more to do ;-) 21:34:14 ok, now for some specific stuff 21:34:15 what about „empty“ commits in gerrit? and the one who starts working on it does a „git commit —amend —reset-author“. 21:34:34 cschwede: that's interesting 21:35:04 mattoliverau: what's the status of container sharding? can you give us an update? 21:35:13 sure 21:35:41 Firstly, blmartin, a coworker of jrichli has started helping, he’s helping out with unit tests until he feels more confident to tackle something more meaty 21:36:00 great 21:36:11 The root container now contains copies of all distributed nodes, so can “short circuit” (as discussed at summit). 21:36:21 clayg: ^^ 21:36:22 nice 21:36:30 mattoliverau: have you been able to get some large containers to test and experiment on? 21:36:50 only ones I have made myself using word lists 21:36:52 I was hoping hurricanerix_ or redbo could help with that ;-) 21:37:01 :) 21:37:07 I have a new algorithm for finding the best candidate sub tries for sharding, the new method in testing has been quicker and far far more memory efficient. It uses what I call a counting trie, that has counters at each intermediate node which increment when adding an object. 21:37:14 (since they would be able to do that in the same company with less privacy issues) 21:37:24 good point :) 21:37:36 As soon as a node counter has hit the magic max_group count a method is fired, but the trie will only store the deepest candidate node. 21:37:57 To keep it memory efficient, as soon as you create a new child at any node, all other children in that node are recursively deleted. Meaning it deletes nodes as quickly as they are added. This means objects need to be added in order, but we do that cause database. 21:38:12 redbo: hurricanerix_: could you work with mattoliverau to get some large container DBs to help with the container sharding effort? 21:38:20 These both have been added and in testing are working well. 21:38:23 notmyname: i can take that on 21:38:26 hurricanerix_: thanks 21:38:40 I’m working on benchmarks ATM, and was hoping to have something today, but I don’t. I need to benchmark different max_group_counts to find out whats best, that may take a while seeing as I will be dealing with large containers each time. 21:38:55 #action hurricanerix_ to get large container dbs for mattoliverau to test container sharding on 21:39:01 Further, shrinking will be hard.. but I have some ideas and will get to that post initial benchmarking. 21:39:16 21:39:17 ok 21:39:19 I will be writing this up as a new patch to the spec. 21:39:20 thanks for the update 21:39:25 ah, perfect 21:39:48 acoles: jrichli: could you give an update on encryption work? 21:39:58 sure, i could do that 21:40:10 jrichli: go for it 21:40:19 The updates to the spec landed! 21:40:26 thanks mattoliverau torgomatic 21:40:31 nice 21:40:41 I have updated the trello recently with status of issues: https://trello.com/b/63l5zQhq/swift-encryption 21:40:55 Also, I try to keep the list of "TODO's" up-to-date on the patch 157907 21:40:56 jrichli: https://review.openstack.org/#/c/157907/ 21:41:14 I am currently working on the functest errors and adding more unit tests 21:41:35 jrichli: what do you need right now from the rest of us? 21:42:01 Please start to supply feedback on the review. I know there is a lot, and its a WIP, 21:42:08 but some feedback to start on would be good 21:42:14 ok 21:42:34 I've starred it 21:42:38 thanks for the update 21:42:40 cool, thx 21:42:48 swifterdarrell isn't here to talk about his patch 21:42:54 #link https://review.openstack.org/#/c/184189/ 21:43:03 "Allow 1+ object-servers-per-disk deployment" 21:43:24 That's a shame cause it's an exciting one :) 21:43:36 I think I manhandled him into relocating the most interesting blob from bin/ 21:43:39 summary is that it allows for a lot of isolation of the disk IO and shows some very impressive improvements in performance when there is a drive issue 21:43:46 zaitcev: good! 21:44:14 so we could review the patch and imagine it's already back in swift/ 21:44:41 it's definitely a priority review. the analysis of performance linked in the commit message are quite extensive 21:44:50 yeah, that one's pretty exciting 21:44:54 please go review that patch 21:45:01 it's all the IO isolation of the threadpools without all the slowdown of the threadpools 21:45:16 I'm thinking he may need some help imagining unit tests for that thing. Like: we fork this and this, and this process dies, then what happens? 21:45:32 hurricanerix_: redbo: I'd especially love to see anything you can do on it. if you can put it in your lab that would be great 21:45:32 He already does probe tests which is pretty impressive. 21:45:59 hurricanerix_: redbo: you've got some of the densest object servers I know, and you've talked about stuggling with this issue 21:46:39 (issue == inconsistent latency on responses) 21:47:24 hurricanerix_: redbo: also, I'd like to ask you to work on similar sorts of comparative testing for python/golang. like what's in darrell's patch 21:47:25 notmyname: redbo had to step out, but I will pass it on to the team to see what we can do. 21:47:31 hurricanerix_: great 21:48:06 hurricanerix_: basically, the sorts of comparisons that are in that patch i want to see for golang vs python. I think that would help make a very data-driven discussion 21:48:22 whew, look at the time... 21:48:38 mattoliverau: you mentioned on the agenda about landing specs 21:48:43 yeah 21:48:55 #link https://review.openstack.org/#/q/status:open+project:openstack/swift-specs,n,z 21:49:01 we do have a lot of not-landed specs 21:49:17 I wanted to see if we could just land specs that we all verbally agreed upon on at summit 21:49:21 mattoliverau: which ones in particular did you want to call attention to? 21:50:03 teiring, metadata, event notification, large containers. 21:50:17 stuff we have agreeed we are working on 21:50:33 we should get them so they appear on specs.o.o 21:51:20 I think changing policies is also agreed to move forward :) 21:51:29 yeah, that too 21:51:51 ok, thanks 21:52:13 I'm happy to go +A them to get them in, but wanted to ask first :) 21:52:22 I have starred those. I'll call people out over the next week to look at them if nothing isn't happening 21:52:31 thanks 21:52:42 #topic bugs 21:52:52 ok, I want to be better about LP bugs 21:53:01 as youve seen from your email, I've gone through some 21:53:16 my plan is to first get everything out of the "new" state 21:53:40 so if there is a bug in "new" that you see, feel free to comment, etc. 21:53:53 after I get through all the "new" bugs, I'll start with some sort of prioritization 21:54:17 a _lot_ of the bugs are very old and need to be reverified or just see what's going on there 21:54:29 so for a few of them to mention this week 21:54:48 #link https://bugs.launchpad.net/swift/+bug/1263776 21:54:49 Launchpad bug 1263776 in OpenStack Object Storage (swift) "timestamp comparisons" [Medium,Incomplete] 21:54:53 needs to be reverified 21:55:01 as dones 21:55:03 #link https://bugs.launchpad.net/swift/+bug/1019712 21:55:03 Launchpad bug 1019712 in OpenStack Object Storage (swift) "Database replicator will rsync too often" [Low,Incomplete] 21:55:05 *does 21:55:16 can I get a volunteer to look at each of these? 21:55:40 i take the first one 21:55:45 cschwede: thanks 21:56:26 cschwede: I assigned it to you. after you've verified one way or another, feel free to removed yourself 21:56:35 anyone for the second one? 21:56:44 taking a look at DB replication 21:56:45 ? 21:57:12 I'll take it 21:57:16 mattoliverau: thanks 21:57:35 mattoliverau: same as cschwede above 21:58:04 eranrom: we've kinda run out of time. can we talk container sync next week? 21:58:35 sure, I wonder if I should just open a bug and dump my proposed solution there 21:58:41 eranrom: that would be great 21:58:47 will do 21:59:16 thanks everyone for coming this week. I want to try to do more like this in the next few meetings: get some status updates and highlight some patches and bugs 21:59:29 please update https://wiki.openstack.org/wiki/Meetings/Swift as you have stuff for the meeting 21:59:40 thanks for coming! and thanks for working on swift! 21:59:44 #endmeeting