21:02:45 #startmeeting swift 21:02:45 Meeting started Wed Jun 16 21:02:45 2021 UTC and is due to finish in 60 minutes. The chair is timburke_. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:02:45 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:02:45 The meeting name has been set to 'swift' 21:02:53 who's here for the swift meeting? 21:03:01 o/ 21:03:11 o/ 21:03:15 o/ 21:03:45 as usual, the agenda's at https://wiki.openstack.org/wiki/Meetings/Swift 21:03:53 #topic ARM testing 21:03:54 Go team APAC 😀 21:04:33 lol 21:04:37 just a quick status update -- we've got patches landed for libec, pyeclib, and unit tests for swift 21:04:48 excellent 21:04:49 Nice 21:05:45 mattoliver did a great job getting a patch together for func and probe tests, we just need to make sure the job name accurately reflects the python version we're testing against 21:06:03 https://review.opendev.org/c/openstack/swift/+/793280 21:06:13 ...which bring me to... 21:06:19 #topic py3 func tests 21:06:25 LOL yeah, that wasn't confusing at all:p 21:06:58 the ARM func test jobs seemed to be testing against py38 despite being based on our py37 func test jobs 21:07:41 i think it came down to the version of ubuntu that was being used; the func test job definition itself basically says "test with whatever version of py3 is available" 21:08:03 Was it the nodeset we picked or just bad naming of job 21:08:19 Ojh, I seem to be lagging a bit. 21:08:47 i proposed https://review.opendev.org/c/openstack/swift/+/795425 to switch our py37 func test jobs to use focal instead of bionic, and in that way switch from testing py37 to py38 21:09:15 Makes sense 21:11:25 and i wanted to get other people's opinions on whether that's what we'd like to do. officially, openstack wants to target py36 and py38 (https://governance.openstack.org/tc/reference/runtimes/xena.html#python-runtimes-for-xena); it *does* seem a little weird that our func test jobs try to split the difference 21:12:42 at the same time, i don't really want to run all the func tests on py27, py36, *and* py38... and then *again* for py38 on ARM... 21:12:46 I think we should just be basing it off the last LTS and py2 21:14:43 it's worth pointing out that we *do* have experimental jobs for py36 on centos8, too. they're just run on demand, though -- i always make a point of checking them when putting together a release 21:16:09 kota, seongsoocho what are your thoughts on it? does it make much difference in your opinions? 21:16:44 I can imagine there are people out there who'd run centos8/rhel8 so makes sense needing to double check that. 21:17:05 hmm... 21:18:22 imo, py38 is nice to test but i know py36 is still in default for bionic long term support... 21:18:55 so dropping 37 would be ok 21:20:26 ah, are we going to drop py36 test too? 21:20:30 fwiw, i can't think of any time i've seen a legit py36 or py37 test failure that still had passing tests for py27 and py38 21:21:02 well, we don't have a py36 job that runs on every patchset currently 21:21:13 yeah 21:21:24 it's always done on demand, by leaving a comment that's just "check experimental" 21:21:55 and of course, i plan on keeping all the unit test jobs 21:22:02 Wow bionic will be around until 2028.. 21:23:21 Maybe we need to run latest LTS on every patch and old but potentially current OS'S (bionic, centos8) on experimental 21:24:06 *Current but old LTS 21:24:18 seems reasonable -- i can look at getting bionic on the experimental queue 21:24:40 IMHO, when trying to use OSS in NTT group, they always test in their specific OS version deeply so i suppose the upstream doesn't have to keep tracking the OS version always if it has to pay too much cost. 21:25:32 the downstream can experiment by themselves, maybe? 21:26:14 and of course, we'd continue to support and accept patches for whatever versions people are actually running 21:26:32 +1 21:27:29 Focal has been already running in an year so reasonably downstream is able to choose it as the system when they planning... 21:27:40 timburke_: +1 21:28:21 reminds me of https://github.com/openstack/swift/commit/dca658103 -- keeping trusty support in 2019 :-) 21:28:36 all right, https://review.opendev.org/c/openstack/swift/+/795425 seems good to go. thanks for the input! 21:29:03 #topic sharding and shrinking 21:29:11 python 36 is shorter life than ubuntu bionic eol :P https://endoflife.date/python 21:29:31 Lol 21:29:55 ubuntu's getting to feel some of redhat's pain :P 21:30:37 sorry for interruption, please go ahead 21:30:57 i know acoles and mattoliver have been looking at dealing with tail shards 21:31:28 https://review.opendev.org/c/openstack/swift/+/793543 21:31:29 https://review.opendev.org/c/openstack/swift/+/794582 21:31:58 https://review.opendev.org/c/openstack/swift/+/794869 21:32:13 Lol yeah, so many different approaches. Found a way to solve it "simply" but doesn't solve well for auto sharding case. 21:32:56 So going with that to bandaid current deployments. 21:33:02 do we have a main path forward yet, or are we still mostly experimenting with various ideas? 21:33:26 Giving us more time to decide on the which is the best total (autosharder imcluded) followup. 21:36:26 https://review.opendev.org/c/openstack/swift/+/794582 is the way forward.. giving us time to decide on the best auto-shard follow up 21:37:18 starred. i'll try to take a look today 21:37:42 which might be using Contexts to track progress or a smarter scanning backend. But we'd have more time to contemplate those pros or cons of those and not at the cost of tail shards 21:37:58 sounds like a plan 21:38:01 #topic relinker 21:38:49 i don't think i've got any patches to call out here, but wanted to mention that we've started increasing part power for our main erasure coded policy. going well so far! 21:39:42 cool ! 21:40:28 i still need to write up a doc to consolidate some of what we've learned :-/ 21:40:57 #topic dark data watcher 21:41:15 i still haven't reviewed the fixes yet. sorry zaitcev :-( 21:41:36 #topic open discussion 21:41:44 anything else we ought to bring up this week? 21:42:32 I've been playing with memcache logging and improvements 21:43:53 Now that shard listings are cached they "could" get bigger to max item size.. so been playing with adding a warning when you start getting to a bigger size: 21:44:30 https://review.opendev.org/c/openstack/swift/+/794582 21:44:35 nice 21:45:06 i've been running down some tracebacks we've been seeing. which caused me to dust off something pretty old :-) 21:45:16 And one to implement a basic metadata get (mg) to our memcacheRing client: https://review.opendev.org/c/openstack/swift/+/795484 21:45:31 https://review.opendev.org/c/openstack/swift/+/103779 - Add support for multiple container-reconciler 21:46:01 So many patches. 21:46:12 I resorted to reading Priority reviews wiki. 21:46:14 It's back! 21:46:44 i'm going to try to do a better job keeping that up to date :-) 21:47:18 mutple reconciler is what 6 years old :) 21:47:58 Puts PUT+POST, Guru Meditation, and Pluggable Backends to shame. 21:48:27 it's been a very long while since i remember seeing a 1 leading the patch number 21:48:36 I had a go at rebasing the general task queue to better shard expirer container usage... but not quite done. And there might be a bit of a conflict with SLO async deletes I need to think through. 21:49:52 general task queue is great, but enqueue is a little more interesting as we do it by policy... at least as it current stands in a patch 2-3 years ago :P 21:51:15 fwiw, the story on the old patch is that in the absence of a good scale-out plan, you either have a single box handling all reconciler work, or you have a bunch of boxes all pulling from the same queue and writing at approximately the same time. we went with the later (no SPOF!) but it can cause EEXIST errors during a part power increase 21:53:00 all right, i think that's about all this week 21:53:10 ok 21:53:14 thank you all for coming, and thank you for working on swift! 21:53:20 #endmeeting