Wednesday, 2024-02-14

opendevreviewJianjian Huo proposed openstack/swift master: common: add CooperativeCachePopulator with cooperative token.  https://review.opendev.org/c/openstack/swift/+/89017405:13
opendevreviewJianjian Huo proposed openstack/swift master: proxy-server: add memcached based cooperative tokens to coalesce backend requests  https://review.opendev.org/c/openstack/swift/+/90896905:13
opendevreviewAnish Kachinthaya proposed openstack/swift master: add enable open expired in proxy config  https://review.opendev.org/c/openstack/swift/+/90777405:14
opendevreviewJianjian Huo proposed openstack/swift master: common: add CooperativeCachePopulator with cooperative token.  https://review.opendev.org/c/openstack/swift/+/89017405:22
opendevreviewJianjian Huo proposed openstack/swift master: proxy: use cooperative tokens to coalesce updating shard range requests into backend  https://review.opendev.org/c/openstack/swift/+/90896905:22
opendevreviewTim Burke proposed openstack/swift master: Get basic write support for mountpoint-s3  https://review.opendev.org/c/openstack/swift/+/90895305:23
opendevreviewAnish Kachinthaya proposed openstack/swift master: expirer: add per-container grace period  https://review.opendev.org/c/openstack/swift/+/90776205:39
zigoQuestion: is the container auto-sharder sill considered experimental ?11:26
zigoThe entry in the doc that says this, is from 2021...11:26
zigomattoliver: Can I ask you for reviewing https://review.opendev.org/c/openstack/swift/+/907523 ?12:53
patch-botpatch 907523 - swift - drive-full-checker - 24 patch sets12:53
zigoclayg: And you as well? :)12:55
zigoGosh, 23 unit test failures in Unstable: https://bugs.launchpad.net/swift/+bug/205312913:02
zigoPlease help !13:02
patch-botBug #2053129 - TypeError: 'dict' object does not support the context manager protocol (New)13:02
opendevreviewAnish Kachinthaya proposed openstack/swift master: expirer: add per-container grace period  https://review.opendev.org/c/openstack/swift/+/90776217:17
opendevreviewTim Burke proposed openstack/swift master: tests: Clear txn id in setup for test_http_protocol  https://review.opendev.org/c/openstack/swift/+/90903317:56
zigoHi Tim! Any idea what triggered the 23 unit test failures I reported?20:13
timburkezigo, i think it's the eventlet version -- i know i found an issue with how rlocks got monkey-patched (https://github.com/eventlet/eventlet/issues/864) that was fixed in 0.34.3 (https://github.com/eventlet/eventlet/pull/866). you'll want 0.35.0+ though to pick up https://github.com/eventlet/eventlet/pull/89020:29
timburkei'm not sure what all patches you needed to apply to get 0.33.3 usable on py312, but hopefully that list can also be reduced :-)20:29
zigotimburke: Thanks, I'll try upgrading eventlet then.20:30
zigoI believe I have it working with 3.12 already (ie: I just need forward-porting of a few patches, normally).20:30
opendevreviewTim Burke proposed openstack/swift master: s3api: Improve checksum-mismatch detection  https://review.opendev.org/c/openstack/swift/+/90904920:39
kotagood morning21:00
timburke#startmeeting swift21:00
opendevmeetMeeting started Wed Feb 14 21:00:10 2024 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:00
jianjiano/21:00
timburkeglad you've got power again, mattoliver :-)21:00
kotao/21:00
timburkeas usual, the agenda's at21:01
timburke#link https://wiki.openstack.org/wiki/Meetings/Swift21:01
mattoliverme too! this week has been a little ttrang and unproductive.. Seems we use power for most things :P 21:01
mattoliver*strange21:01
timburkefirst up21:02
timburke#topic expirer grace period21:02
jianjianTim and I are going to have another rain storm this weekend. Hopefully I get to keep my power21:02
timburkethis is something we (nvidia) have been using for a bit, because we've got an expiry-heavy workload where our users set an initial expiry on something, then repeatedly push it further and further out based on usage21:04
mattoliver🤞21:04
timburkethe trouble comes when there's something that missed an update (maybe the client ran out of retries), so gets accidentally deleted21:04
timburkeand it gives us an escape hatch to recover the data, between p 874806 and p 87471021:05
patch-bothttps://review.opendev.org/c/openstack/swift/+/874806 - swift - Add per account grace period to object expirer - 10 patch sets21:05
patch-bothttps://review.opendev.org/c/openstack/swift/+/874710 - swift - Add x-open-expired to recover expired objects - 27 patch sets21:05
mattoliverYou would think they could just add a grace period to the expiry themselves.. ie x + <expiry seconds>. but meh. 21:06
mattoliverwhere x is suppose to be grace seconds.. did I mention I've only just woke up :P 21:07
timburkethere's still a big glaring hole in that there's no auth requirements on the x-open-expired header, but it's been working well enough for us so we never got around to polishing them to the point that we can land them21:08
mattoliverThis heavy expirer workload also makes we want to relive the general task queue expirer work that OVH started... but like most things, not enough time in the day.21:09
timburkefortunately, we got an intern recently, and one of the things he'll be working on is some improvements for those; hopefully we'll actually feel good about landing everything :-)21:09
mattoliver\0/21:09
timburkemattoliver, that was ntt as i recall21:09
jianjian"no auth requirements on the x-open-expired header", you mean additional auth besides of account authorization?21:09
timburkeyeah -- anyone who is authed to get the 404 (instead of a 403/401) can add the header and get a 200 (so long as the expirer hasn't laid down a tombstone yet)21:11
jianjianI see21:12
jianjianand Anish's patch to add per container level grace period has been verified on an internal cluster21:12
jianjianthis one: https://review.opendev.org/c/openstack/swift/+/90776221:12
patch-botpatch 907762 - swift - expirer: add per-container grace period - 8 patch sets21:12
timburke🎉21:13
timburkeand there's also p 907774 to get some level of configurability for the new header21:14
patch-bothttps://review.opendev.org/c/openstack/swift/+/907774 - swift - add enable open expired in proxy config - 1 patch set21:14
timburkewe might still want to get an auth decision in there, but cluster-level config option at least gets us a start :-)21:15
mattoliver+121:15
timburkei don't know that there's a lot to discuss about those patches yet, but wanted to bring them to our attention and encourage some useful feedback21:16
timburke#topic aws-chunked transfers21:17
timburkei finally got around to revisiting p 836755!21:18
patch-bothttps://review.opendev.org/c/openstack/swift/+/836755 - swift - Add support of Sigv4-streaming - 9 patch sets21:18
timburkei got it rebased; the gate failures are pretty fixable21:19
timburkeand i started hacking it up so i could use mountpoint-s3! p 90895321:19
patch-bothttps://review.opendev.org/c/openstack/swift/+/908953 - swift - Get basic write support for mountpoint-s3 - 2 patch sets21:19
mattoliverI guess I need to read up on more s3 to understand what these are :P 21:20
timburkestill needs a decent bit of work, but i think i managed to clean up the reader a good bit21:21
timburkeso, some useful reading:21:21
kotamountpoint-s3, interesting21:21
timburke#link https://github.com/awslabs/mountpoint-s3/21:21
timburke#link https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html21:21
mattoliverkk, thanks!21:22
timburke#link https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html21:22
kotait looks like sort of Fuse imple for s321:22
timburkeyup! we had some users express an interest in it, and i alsways enjoy being able to use AWS tooling against a swift cluster :-D21:23
jianjianawesome!21:23
mattoliveroh wow it's exactly what it sounds21:24
timburkethe cool thing is, so far it seems to be working! now i just need to actually have all the validation in place so we can feel confident telling users that the data was written correctly ;-)21:25
mattolivernice one timburke !21:26
zigoNice indeed!21:27
timburkewhile i was thinking about that and a recent eventlet patch (https://github.com/eventlet/eventlet/pull/911), i also had a thought about our existing HashingInput we use to validate sha256 values21:27
jianjianNice, will try it out sometime21:28
mattoliverI wonder if I could play with it and get it to say mount a package repo stored in swift to a centos controller node so I don't have to mirror it onto the disk while we transistion (sorry downstream work) :hmm:21:28
timburkeso i wrote up p 909049 -- if we like that direction, there will probably be some implications for the aws-chunked series21:28
patch-bothttps://review.opendev.org/c/openstack/swift/+/909049 - swift - s3api: Improve checksum-mismatch detection - 1 patch set21:28
timburkenext up...21:30
timburke#topic drive-full-checker21:30
zigoo/21:30
zigoThanks for putting it in the agenda.21:30
timburkezigo wrote up a new tool to help disable/re-enable rsync based on disk fullness!21:31
timburkep 90752321:31
patch-bothttps://review.opendev.org/c/openstack/swift/+/907523 - swift - drive-full-checker - 24 patch sets21:31
zigoI wrote this because after 5 years in production, this finally happened to us in one of the 6 swift AZ of one of our clusters, and got pretty scared. So started writing more puppet, then takashi suggested to push my script to swift rather than puppet-swift.21:32
zigo(happened that some partition got full, I meant)21:33
zigoI'll write the matching puppet-swift patch too.21:33
timburkeyeah, disk-full situations can spiral badly, unfortunately :-(21:33
timburkethanks for the new operator tooling! i'll try to get some more reviews on it soon (and maybe see about getting some of our operators to weigh in, too)21:34
zigop 909004 already implements tweaking /etc/swift/drive-full-checker.conf with puppet.21:35
patch-bothttps://review.opendev.org/c/openstack/puppet-swift/+/909004 - puppet-swift - WIP: do not merge. drive-full-checker: implements dfc - 2 patch sets21:35
mattoliveryeah me too, looks really interesting! 21:35
mattoliverI'll also give the link to our SRE, they might be interested in this too and get more eyes on it21:35
timburkezigo, anything else you'd like to call out about the patch, or mainly just need reviews?21:36
zigoMainly reviews, as I think the patch is looking good already (after so many iterations).21:37
timburke👍21:37
timburke#topic part-number support21:38
timburkeindianwhocodes is around again! i think these patches are on his list of things to follow up on, so we should see some more movement on them soonish21:39
timburkep 894570 and p 894580 are the main patches21:40
patch-bothttps://review.opendev.org/c/openstack/swift/+/894570 - swift - slo: part-number=N query parameter support - 86 patch sets21:40
patch-bothttps://review.opendev.org/c/openstack/swift/+/894580 - swift - s3api: Support GET/HEAD request with ?partNumber - 94 patch sets21:40
mattolivercool, I did finally get around to "start" looking at the chain.. but then a big storm in melbourne took out power for a large chunk of the state.. so got sidetracked. But I'll continue looking now that I have power.21:40
timburke#topic py31221:41
timburkewe've still got a few patches needed to get us support: p 904652 and p 904600 at least21:42
patch-bothttps://review.opendev.org/c/openstack/swift/+/904652 - swift - Add ClosingIterator class; be more explicit about ... - 8 patch sets21:42
patch-bothttps://review.opendev.org/c/openstack/swift/+/904600 - swift - Stop using deprecated datetime.utc* functions - 2 patch sets21:42
timburkei also recently started seeing some failures in test_http_protocol but only in py312 environment21:43
mattoliverkk, well as someone whose system default is 3.12 atm I am probably more interested in 3.12 support then most, so I'll take a look at these too :) 21:43
timburkebut when running the test isolated, it'd pass. i double checked a recent verified vote, and none of those jobs seemed affected21:44
mattoliveroh that's fun21:44
mattoliverso it might be a combination with other tests thing or intermittent failure21:45
timburkei wrote up a fix at p 909033; i see that zaitcev already took a look, but i haven't had a chance to try his recommendation21:45
patch-bothttps://review.opendev.org/c/openstack/swift/+/909033 - swift - tests: Clear txn id in setup for test_http_protocol - 1 patch set21:45
mattoliver?21:45
timburkeit's that there's a lingering txn id that was set on the main thread's thread locals before the test runs21:46
mattoliverkk21:46
timburkethat's all i've got21:46
timburke#topic open discussion21:46
timburkeanything else we should bring up?21:47
mattoliverWhere'd we end up on static web + prefixed tempurls. I thought it was looking pretty good. But you said something about something you wanted to follow up on?21:48
mattoliverI haven't looked at the patch, but just interesting in seeing if we wanted to finally land it soon :) 21:48
mattoliver#link https://review.opendev.org/c/openstack/swift/+/81075421:48
patch-botpatch 810754 - swift - staticweb: Work with prefix-based tempurls - 14 patch sets21:48
timburkei'd love to :-) i think the one question i still had was whether the 3xx redirect should pass along tempurl params, too, but i think i like it more without -- makes it a little more clear that you've probably signed the wrong path21:50
mattoliveryeah, that's what I found in my playing with it. So I think it was more a doc prob then code ;) 21:50
mattoliveralso thanks jianjian for looking at https://review.opendev.org/c/openstack/swift/+/877584 21:51
patch-botpatch 877584 - swift - internal_client: Add iter_{shard_ranges,namespaces... - 14 patch sets21:51
timburkeoh yeah, i ought to take a look at jianjian's p 908969!21:52
patch-bothttps://review.opendev.org/c/openstack/swift/+/908969 - swift - proxy: use cooperative tokens to coalesce updating... - 2 patch sets21:52
mattoliverInternalclient is also internal to the cluster in my book. But happy to have discussions on it with others in the patch. So others please review if interested in a cached namespace interface  21:52
mattoliveroh yeah. the co-op token stuff. really interesting21:53
mattoliverOK, we obviiusly have too much good stuff in the pipeline, we need to clear out (land) some patches so we can have more time getting this other good stuff in ;) 21:54
timburkesounds like a plan :-) i'll let y'all go so we can get on it, then21:54
timburkethank you all for coming, and thank you for working on swift!21:55
timburke#endmeeting21:55
opendevmeetMeeting ended Wed Feb 14 21:55:05 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)21:55
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2024/swift.2024-02-14-21.00.html21:55
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2024/swift.2024-02-14-21.00.txt21:55
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2024/swift.2024-02-14-21.00.log.html21:55
opendevreviewAnish Kachinthaya proposed openstack/swift master: add enable open expired in proxy config  https://review.opendev.org/c/openstack/swift/+/90777423:55
opendevreviewAnish Kachinthaya proposed openstack/swift master: add enable open expired in proxy config  https://review.opendev.org/c/openstack/swift/+/90777423:59

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