21:01:21 <timburke> #startmeeting swift 21:01:21 <opendevmeet> Meeting started Wed May 22 21:01:21 2024 UTC and is due to finish in 60 minutes. The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:01:21 <opendevmeet> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:01:21 <opendevmeet> The meeting name has been set to 'swift' 21:01:26 <timburke> who's here for hte swift meeting? 21:01:41 <zaitcev> And then... 21:03:36 <mattoliver> o/ 21:03:45 <timburke> i neglected to update the agenda, but there have been a few bodies of work moving forward 21:03:48 <zaitcev> Oh, hey. 21:04:16 <timburke> #topic labeled metrics 21:04:49 <mattoliver> zaitcev: congrats on getting cinder core too! 21:05:13 <timburke> oh, nice! i hadn't been following -- congrats! 21:05:15 <zaitcev> mattoliver: thanks! 21:05:39 <timburke> shreeya and yan have continued trying to untangle our statsd client from our logger 21:05:51 <zaitcev> I know even less about Cinder than I do about Swift, but they have such a pile of reviews that here we are. 21:06:38 <timburke> first in the chain is to break out configuration 21:06:40 <timburke> #link https://review.opendev.org/c/openstack/swift/+/919444 21:06:41 <patch-bot> patch 919444 - swift - Move StatsdClient config parsing from get_logger t... - 3 patch sets 21:08:30 <timburke> and i don't think it's quite there yet, but i think the next patch is going to try to get the statsd references out of logs.py 21:08:32 <timburke> #link https://review.opendev.org/c/openstack/swift/+/915483 21:08:33 <patch-bot> patch 915483 - swift - HybridMultiObjectDispatcher - 11 patch sets 21:09:35 <timburke> while continuing to have utils.get_logger return a weird frankenstein object that lets you call both log and stat methods 21:11:27 <timburke> i know they started to get a little lost in some details like the logger thread locals (which we use to add transaction id and client ip to server log lines) 21:11:54 <mattoliver> lol, but the plan is the franlentein monster will go sometime in the future when we have a "better" metrics client? 21:12:56 <timburke> not sure -- it seems likely to break 3rd party middlewares and the like. maybe eventually with appropriate deprecations, though? 21:13:49 <timburke> i think there's some alignment, though: it's enough of a win for us to just get the stats stuff out of the logger, we don't have to try to fix all the weird/bad things we don't like about our loggers right now 21:14:09 <mattoliver> yeah, I guess we would need a migration plan to move forward on that. 21:16:45 <timburke> i.e., logger thread locals can stay on the logger; the frankenlogger will get a __setattr__ in addition to the __getattr__ (or do something more explicit with a bunch of @property methods); and we're just going to try to carve out a pure statsd client 21:18:27 <mattoliver> kk 21:19:03 <timburke> i'm still a little nervous about the refactor distracting from the actual desired improvement, but at the same time, it's always been a little weird that stats and logs were lumped together the way they are 21:19:40 <timburke> next up 21:19:46 <timburke> #topic backend ratelimiting 21:20:21 <timburke> we landed some patches in the last couple weeks 21:20:33 <timburke> #link https://review.opendev.org/c/openstack/swift/+/840531 21:20:33 <patch-bot> patch 840531 - swift - backend ratelimit: support reloadable config file (MERGED) - 10 patch sets 21:20:40 <timburke> #link https://review.opendev.org/c/openstack/swift/+/840542 21:20:41 <patch-bot> patch 840542 - swift - backend ratelimit: support per-method rate limits (MERGED) - 9 patch sets 21:22:18 <timburke> these are things we've been using with our clusters for a while now, and got to see some recent active use while trying to keep container servers from getting overloaded 21:22:48 <timburke> which i believe also prompted mattoliver to write up 21:22:50 <timburke> #link https://review.opendev.org/c/openstack/swift/+/919667 21:22:51 <patch-bot> patch 919667 - swift - obj: skip to async_pending when root is busy - 4 patch sets 21:22:59 <mattoliver> Yeah, and I think they're great tools for ops to have in their back pocket. 21:23:13 <mattoliver> yup! 21:24:23 <mattoliver> Bascially bypasses sending the container-update if the root container is crazy busy and go straight to async_pending to give the container more breathing space. 21:24:40 <mattoliver> rather the join in the DDOS fun :P 21:27:34 <timburke> i still wonder a little if it would be better for the proxy to 503 the PUT, and avoid the pile-up that way. or at least have an option for it or something? 21:29:22 <timburke> next up: 21:29:40 <timburke> #topic aws-chunked support 21:30:18 <timburke> i finally got around to writing my own s3 signer/client to explore some error conditions 21:30:34 <timburke> first target was fixing up some sha256-mismatch errors 21:30:47 <timburke> #link https://review.opendev.org/c/openstack/swift/+/918694 21:30:47 <patch-bot> patch 918694 - swift - cors: Add ability to allow requests with credentials - 3 patch sets 21:31:24 <mattoliver> woah, nice one man 21:31:25 <timburke> but i plan on using it more as i explore the additional checksum support and aws-chunked protocol 21:31:49 <timburke> bah! that wasn't the link i meant... 21:32:00 <timburke> #link https://review.opendev.org/c/openstack/swift/+/920206 21:32:01 <patch-bot> patch 920206 - swift - s3api: Clean up some sha256 validation/mismatch er... - 1 patch set 21:32:21 <mattoliver> that looks better :) 21:33:47 <timburke> still working on restacking the other patches, but something to look forward to 21:34:02 <timburke> #topic python 3.13 21:34:29 <timburke> the first beta was released a couple weeks ago! and a fresh beta is due out next week! 21:34:40 <mattoliver> nice work pushing it forward Tim! 21:35:04 <timburke> i haven't gotten to trying it out yet, but i'd like to soon, so we can identify any issues early 21:35:31 <timburke> the only trouble i already know of is the removal of cgi 21:35:49 <timburke> #link https://review.opendev.org/c/openstack/swift/+/887908 21:35:49 <mattoliver> nice, and be on the front foot for once. Thanks for all your hard work getting swift modern python ready. 21:35:49 <patch-bot> patch 887908 - swift - Stop using cgi.parse_header - 3 patch sets 21:36:00 <timburke> ...which it looks like is due for a rebase 21:36:03 <opendevreview> Merged openstack/swift master: docs: Update further-reading URL for cross-domain policies https://review.opendev.org/c/openstack/swift/+/919748 21:37:03 <timburke> that's all i've got for this week 21:37:09 <timburke> #topic open discussion 21:37:18 <timburke> anything else we should bring up? 21:38:11 <mattoliver> We've already mentioned the skip to async pending. The only other things I'm poking at is the db vacuum and leader election algorithm stuff 21:38:32 <mattoliver> but haven't had much of a chance to push them forward much. Maybe I'll have news next meeting. 21:38:44 <mattoliver> So I'm good 21:39:16 <timburke> oh yeah -- i should take another look at the vacuum patch 21:39:53 <mattoliver> Oh and I've meet with the Qatar students twice. They're onboarding. Building SAIOs and you might see them pop in and out here as they get their dev envs set up :) 21:41:11 <mattoliver> I've walked through what swift is, topology and we've walked through my SAIO and poked at things. So hopefully they feel comfortable building and breaking their own SAIOs. 21:41:47 <mattoliver> next meeting with them I plan to go through swift code locations and maybe point them in the right place to get started. 21:41:52 <mattoliver> They seem like a good bunch. 21:42:05 <timburke> oh good! thanks again for working with them -- how's the timezone difference? 21:42:47 <mattoliver> not too bad. We meet on my Monday late arvo, which is like 9am their time. So far working well 21:43:02 <mattoliver> I hope once they get better access here, we can be alot more async 21:45:03 <timburke> nice 21:45:22 <timburke> all right, i think i'll call it 21:45:32 <timburke> thank you all for coming, and thank you for working on swift! 21:45:35 <timburke> #endmeeting