21:00:20 #startmeeting swift 21:00:20 Meeting started Wed Jul 12 21:00:20 2023 UTC and is due to finish in 60 minutes. The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:00:20 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:00:20 The meeting name has been set to 'swift' 21:00:29 who's here for the swift team meeting? 21:00:36 hi 21:01:05 o/ 21:01:44 i actually update the agenda! though there's surely some stuff i missed :P 21:01:47 #link https://wiki.openstack.org/wiki/Meetings/Swift 21:01:54 first up 21:02:04 #topic ssync metadata corruption 21:02:14 #link https://bugs.launchpad.net/swift/+bug/2020667 21:02:25 the fix merged! 21:03:01 yay 21:03:04 great 21:03:05 i figure that's as good a spot as any to cut a new release -- it's been something like 3 months since our last one 21:03:32 so i'll work on getting some release notes up this week 21:03:54 yeah, good idea 21:04:51 #topic logging/metrics for backend HEAD requests on cache misses 21:05:00 #link https://review.opendev.org/c/openstack/swift/+/884931 21:05:46 it's gotten some positive feedback, but it looks like acoles still has some hesitations 21:06:02 meanwhile, we've got other patches starting to build on it 21:06:12 #link https://review.opendev.org/c/openstack/swift/+/885798 21:07:03 oh a logged app intersting idea 21:07:11 i know i previously suggested it maybe ought to have an upstream bug -- i might still try to write that 21:07:14 yeah sucks that we lost those metrics cool 21:08:28 i suppose one question is whether we want to prioritize getting that landed ahead of the next release, too 21:08:50 i think we've only had the one release where we dropped the metrics 21:09:04 o/ 21:09:09 if so, i *definitely* ought to write up that launchpad bug 21:11:15 yeah, write up the bug. I'll give this a review and lets try and get it landed before the end of the week 21:11:24 so it can be in the release 21:11:25 thanks 21:12:14 #topic partNumber support for s3api 21:12:17 #link https://bugs.launchpad.net/swift/+bug/1735284 21:12:40 it sounds like indianwhocodes is going to take a look at implementing this soon! 21:12:57 yes its a priority! 21:13:10 cool 21:14:08 for some background: there's a parameter you can provide to GET/HEAD requests against AWS that will fetch individual parts of a multipart object 21:14:41 we don't currently support it -- and not in a "we'll just ignore it" sort of a way -- we'll respond with a 405 21:14:44 nice 21:15:00 nice to have, i mean 21:15:35 for a while it was undocumented, but at least one of AWS's SDKs would use it; a few years ago it got some documentation 21:17:08 OK, so whats the plan, give partnumber support (or something like it) to SLO and then plumb that support in s3api 21:17:08 but what's really driving the prioritization is that we want to provide some means of verifying MPU downloads to clients. one way we can do that is to let clients download individual parts, calculate the MD5s of each part as it's downloaded, then calculate the MD5-of-MD5s to compare against the ETag for the MPU 21:17:16 cause it also sounds nice for SLOs 21:19:00 The bug talks about being able to do it for normal objects too, so how will that work? does it turn it into a byte request? or do we ignore non slos? 21:19:24 mattoliver, yeah, exactly. it's a little debatable how much utility you get for SLOs, since the client could also just download the actual manifest, then grab the segments directly -- but it definitely seems like a way to make it easier to write a better client without going all the way to relying on a bunch of swift-isms 21:20:24 in a normal object would it be 1/1000s of the object (or whatever the max partnumber was) 21:20:36 so an auto calculated ranged request 21:21:06 Sorry just thinking out loud now 21:22:06 i think the thing to do would be to use a query param, like S3 does -- object-server doesn't even see the thing, so it'd automatically send back everything. then slo can look at the query param, see that it got a manifest as a response, and send back just the one segment. if it *wasn't* a manifest, again, we'll just send what we *did* get back 21:22:40 kk 21:22:58 other things going on... 21:23:06 #topic container server performance 21:23:53 jian jian has been doing some profiling, and noticed a lot of CPU time being spent on getting shard ranges 21:25:25 it looks like he and acoles will be seeing how we can avoid unnecessary work and improve the container server 21:26:18 mostly, this has been coming out of observations about much lower than expected performance, partitularly for container with large numbers of shards (think 10-20,000) 21:27:37 ok, a more administrative note 21:27:42 #topic next meeting 21:27:46 yeah, when we were writing sharding we thought about large number of shards, but it was so far off I think we punted it. Well I guess were here now 21:27:59 I don't get that partNumber thing... Why does Range: not work for those guys. 21:28:21 #undo 21:28:21 Removing item from minutes: #topic next meeting 21:28:25 probably could start having high water marks when syncing shards now that we're getting > 10k 21:28:26 Actually n/m. It is what it is and we ought to be compatible. 21:29:25 zaitcev, the main trouble is that the client doesn't know what the original sizes were for uploads -- so it doesn't know how to build the MD5-of-MD5s 21:29:40 currently we always send them all on every container replication. So yeah there is a bunch of more to make sharding work better with alot more shards. 21:30:54 (s3's way of doing it is almost but not quite the same as SLO's; it's good enough to think of how you would go about verifying an SLO download if you knew it was an SLO, but didn't have access to the actual manifest) 21:31:24 ok 21:32:39 like, range requests are good enough to get you parallel downloading, but you can't try to recreate the etag you got back unless you know the individual part sizes 21:33:25 #topic next meeting 21:33:30 i'm going to be out on vacation for a couple of weeks 21:34:05 so i'm going to propose that we skip the next couple meetings, and come back Aug 2 21:34:26 sounds good 21:34:27 unless anyone else would like to volunteer to chair the meeting 21:35:28 I'm happy to chair while your gone.. but also only if there is something to talk about.. so happy to skip. 21:35:39 so skipping is fine. 21:36:11 all right, then -- if anyone has anything they'd like to bring up, add it to the agenda and mattoliver will keep an eye out for it ;-) 21:36:30 otherwise, we'll next meet up in August 21:36:36 that's all i've got 21:36:42 #topic open discussion 21:36:49 anything else we ought to bring up? 21:36:56 kk 21:37:05 I'm going on vacation too, to Wisconsin. 21:37:32 i saw the nest ptg info in my mailbox... 21:37:34 oh, nice! i spent a few years there -- where you going, zaitcev? 21:37:37 next 21:37:43 oh yeah, I keep forgetting its summer time in the US. 21:37:55 timburke: https://www.eaa.org/en/airventure 21:37:59 oh, yeah! i heard something about the PTG... 21:38:21 kota: yeah I saw that too! a virtual one 21:38:25 zaitcev, looks exciting :-) 21:38:26 https://ptg2023.openinfra.dev/ 21:38:47 End of October 21:38:56 So, next PTG is virtual again. 21:39:21 looks like it. 21:39:43 not sure if their alternating or reverting back to it. 21:40:02 So, is there anything I can do to make acoles to review https://review.opendev.org/c/openstack/swift/+/787656 21:40:26 Maybe I can review something...? But looks like you guys do well without me. 21:41:02 acoles was away on vacation last week. I'll poke him about it for you if you like zaitcev 21:41:05 we always appreciate more eyes :-) i'll try to take a look -- i'm long overdue to check it out again 21:41:15 +1 21:41:20 Technically it's your patch :-) 21:44:48 all right, i think i'll call it 21:45:00 thank you all for coming, and thank you for working on swift! 21:45:05 #endmeeting