Wednesday, 2022-09-28

opendevreviewAlistair Coles proposed openstack/swift master: sharder: always get ranges from root while shrinking  https://review.opendev.org/c/openstack/swift/+/85771815:09
opendevreviewAlistair Coles proposed openstack/swift master: sharder: refactor _audit_shard_container  https://review.opendev.org/c/openstack/swift/+/85963015:09
opendevreviewAlistair Coles proposed openstack/swift master: sharder: always merge child shard ranges fetched from root  https://review.opendev.org/c/openstack/swift/+/85839815:54
opendevreviewAlistair Coles proposed openstack/swift master: sharder: merge shard shard_ranges from root while sharding  https://review.opendev.org/c/openstack/swift/+/85290515:54
opendevreviewAlistair Coles proposed openstack/swift master: sharder: always merge child shard ranges fetched from root  https://review.opendev.org/c/openstack/swift/+/85839816:23
opendevreviewAlistair Coles proposed openstack/swift master: sharder: merge shard shard_ranges from root while sharding  https://review.opendev.org/c/openstack/swift/+/85290516:23
opendevreviewMerged openstack/swift master: sharder: refactor _audit_shard_container  https://review.opendev.org/c/openstack/swift/+/85963018:44
timburkecreated the doodle poll for PTG times: https://doodle.com/meeting/organize/id/b4RryJJe?authToken=dGltLmJ1cmtlQGdtYWlsLmNvbTtUaW0gQnVya2U%3D.VKpXl57xMo1KNayeLq19:17
timburkeand an etherpad: https://etherpad.opendev.org/p/swift-ptg-antelope20:38
opendevreviewMerged openstack/swift master: Update master for stable/zed  https://review.opendev.org/c/openstack/swift/+/85909820:50
timburke#startmeeting swift21:00
opendevmeetMeeting started Wed Sep 28 21:00:42 2022 UTC and is due to finish in 60 minutes.  The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot.21:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.21:00
opendevmeetThe meeting name has been set to 'swift'21:00
timburkewho's here for the swift meeting?21:00
mattolivero/21:01
acoleso/21:01
timburkeas usual, the agenda's at https://wiki.openstack.org/wiki/Meetings/Swift21:02
timburkeit's a little sparse, mostly owing to me being out last week21:02
timburkefirst up21:02
timburke#topic PTG21:02
timburkeit's soon! a little over two weeks21:02
mattoliverOh wow, that is soon21:03
timburkesorry for the short notice, but i did get a doodle poll up so i can block off some meeting times21:03
timburke#link https://doodle.com/meeting/organize/id/b4RryJJe?authToken=dGltLmJ1cmtlQGdtYWlsLmNvbTtUaW0gQnVya2U%3D.VKpXl57xMo1KNayeLq21:03
zaitcevI still haven't registered.21:04
timburke...and i maybe shouldn't have included the token in the query... oh well21:04
zaitcevMaybe I should just go on my own.21:04
timburkezaitcev, it's all-virtual!21:04
zaitcevOh. I thought it was in Columbus, Ohio.21:05
timburkewhere'd i put that ML update...21:05
zaitcevBooooring.21:05
timburke#link https://lists.openstack.org/pipermail/openstack-discuss/2022-August/029879.html21:05
timburkecaught me off guard, too -- part of why i'm racing to catch up21:06
acolesBoring is in Oregon21:06
acoles#link https://doodle.com/meeting/participate/id/b4RryJJe21:08
timburkeyeah, i'd still prefer an in-person meetup, too. but even when we thought it'd be in person, we needed someone to foot the airfare for acoles and mattoliver...21:08
timburkeanyway, i also created an etherpad to gather discussion topics21:08
timburke#link https://etherpad.opendev.org/p/swift-ptg-antelope21:08
acolesare the doodle times UTC?21:09
timburkeshould be21:09
timburkei feel like the doodle interface got worse :-( i thought you could switch timezones fairly easily before...21:09
timburkeoh -- it should give you times in your local TZ i think -- over on the left in a private tab i see "United States - Los Angeles, San Diego, San Jose, San Francisco"21:11
timburkeand if you haven't registered yet, please do21:12
timburke#link https://openinfra.dev/ptg/21:12
timburkethat's all i've got for the PTG -- hope to see you all there! i'll also bring it up with a few other nvidians that aren't in IRC much21:13
timburke#topic ring v2 - replication improvements21:14
acolesI'm registered and I've booked all the travel I need ;-)21:15
timburkeso i've continued building on the ring v2 work -- matt added the last primaries table, and i made the proxy smart enough to use it21:15
timburkenext i wanted to improve the replicator/reconstructor to use it, too21:16
timburkemattoliver already had a patch to update the reconstructor21:16
timburke#link https://review.opendev.org/c/openstack/swift/+/83500121:16
mattoliverOh nice! 21:16
mattoliverI'll give them a review and a play21:17
timburkebut i realized it wouldn't work for the replicator -- the approach was fairly deep in the ssync protocol, and worked on an individual diskfile at a time21:17
timburkeso i took a stab at updating the replicator at the suffix-comparison level21:17
timburke#link https://review.opendev.org/c/openstack/swift/+/85934921:18
timburkethe idea is to gather a bunch of remote suffixes (including from old primaries) before starting to rsync anything21:19
mattoliveroh interesting21:20
timburkeand based on those suffixes, apply some heuristics to decide whether a node (including the local node!) is a mostly-up-to-date primary, a mostly-full old primary, or a mostly-empty new primary21:21
timburkeif the local node seems to be filling, bail early -- like, before we even do local rehashing21:21
timburkeif one of the remotes seems to be filling and there's a fairly full old-primary, skip replicating to that specific remote21:22
timburkewhile working through this and running some experiments at home, i realized we currently do way too much rehashing on those filling primaries21:24
mattoliversounds really interesting, being able to make some smart determinations based off the suffixs in the part sounds really clever. 21:25
timburkeit's a problem because rsync will pre-create a bunch of dirs before starting to fill them -- and when we rehash during an inbound transfer, we clean them up, and the remote rsync hits a failure later21:26
timburkeso to avoid that, i also added a new REPLICATE api to just consolidate hashes, without rehashing the invalid suffixes21:27
timburke#link https://review.opendev.org/c/openstack/swift/+/85934821:27
mattolivercan that confuse that suffix dirs are on a remote node if another comes and rsyncs at the same time?21:27
mattoliver*what21:28
mattoliverand confuse your new heuristics21:28
mattoliverre: rsync creating a bunch of dirs before filling them up. Or is it more one suffix at a time as it's rsyncing. 21:29
timburkethe heuristics are all based on "knowledge" of a suffix -- they don't actually look at the hash value21:29
mattoliveroh yeah, so long as we don't rehash, we wont know of the "rsync dirs"21:30
timburkemy hope is to get far enough along this path that i can run some more experiments with it at home and have some pretty graphs of improvements to show for the PTG21:31
mattoliverNice, sounds really cool21:31
timburkeanyway, that's all i've got21:31
timburke#topic open discussion21:31
acolesyeah, lots of progress21:31
timburkewhat else should we talk about this week?21:32
timburkeacoles, i saw a bunch of shard range patches earlier today21:33
acolesyes I have a chain of patches aimed at improving when shards update their sub-shards21:33
acolesall motivated by our painful experience with some shards that got stuck while sharding21:34
acolesbriefly, the shards had an incomplete set of sub-shards to which they could cleave, so could not complete sharding...21:34
acoles...the *root* had a complete set of shard ranges but the shard never merges what the root has (even though the root ranges are fetched during audit)...so shard remains stuck21:35
timburkeis it mostly a matter of needing reviews, or is there more discussion that would be useful?21:36
acolesthe fix allows shard ranges from the root to be merged into the shard, but only if the result appears to be a valid set of shard ranges21:37
acolestimburke: I have one last tweak to make on the last patch (I have a comment to that effect), but the first 2 are I hope good to go21:37
acoleshttps://review.opendev.org/c/openstack/swift/+/857718/721:38
timburke👍21:38
mattoliver^ and the v2 patches and follow ups, I've really been meaning to review and get into, but been distracted with a work priority. 21:38
acoleshttps://review.opendev.org/c/openstack/swift/+/858398/21:38
mattoliverWill try and get to them all over the next week. 21:38
mattoliverOn another note, I haven't been too idle. For those who want to try out the new OpenTelemetry version of Tracing, I've got a branch and a PR on the VSAIO repo that you can use. Seems to be working. Still might be some OpenTracing bits I missed, but I think I got them all.  https://github.com/NVIDIA/vagrant-swift-all-in-one/pull/134 21:39
acolesmattoliver: nice!21:39
timburkemattoliver, thanks! don't worry too much :-) especially those later patches in the chain, there's a lot of testing gaps...21:39
mattoliverOh and I've also been migrating the OpenTracing POC over to OpenTelemetry21:39
mattoliverand cleaning it up quite a bit at the same time.21:40
mattoliver#link https://review.opendev.org/c/openstack/swift/+/85755921:40
mattoliveris the OTel version21:40
clarkbZuul is adding tracing support with testing using jaeger iirc. There might be useful bits there to copy over to swift if you end up wanting to test this21:41
mattoliverAlso found a better way of getting the spans into eventlet pools and piles. So the code is much cleaner21:41
mattoliveroh nice! clarkb 21:41
mattoliverI'll take a look!21:41
mattoliverWorking on an in memory exporter version of the tracer that we can interrogate, in essence a tracer for unittests21:42
timburkenice!21:43
mattoliveror rather to unit test the tracing code in swift, not trace unittests :P 21:43
timburkethat's how i'd interpreted it ;-)21:44
mattolivergreat :P21:44
acolesI need to drop, 👋21:45
timburkeseems like we're winding down anyway21:46
timburkethank you all for coming, and thank you for working on swift!21:46
timburke#endmeeting21:46
opendevmeetMeeting ended Wed Sep 28 21:46:34 2022 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)21:46
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2022/swift.2022-09-28-21.00.html21:46
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2022/swift.2022-09-28-21.00.txt21:46
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2022/swift.2022-09-28-21.00.log.html21:46

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!