21:02:00 #startmeeting swift 21:02:00 Meeting started Wed Nov 29 21:02:00 2023 UTC and is due to finish in 60 minutes. The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:02:00 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:02:00 The meeting name has been set to 'swift' 21:02:08 who's here for the swift team meeting? 21:02:24 o/ 21:03:29 o/ 21:04:40 first off, sorry for the last-minute cancellation a couple weeks ago, and the (not explicitly mentioned) cancellation last week for the US holiday 21:05:00 things have been a little hectic for me 21:05:48 which also means i don't have much of an agenda for this week -- though i have the sense that there's been a lot of effort concentrated around the SLO/MPU part-number changes 21:05:55 no worries 21:06:43 yeah no worries Tim 21:07:14 I've been really distracted the last 2 weeks, so unfortuantly I haven't done much myself anyway. 21:07:26 is there anything that we'd like to draw extra attention to, or that has questions that need answering that we ought to bring up? 21:07:35 we've merged the slo refactor that Clay worked so hard on :) 21:07:47 🎉 21:07:50 \o/ 21:08:04 so our review effort is now focussed on the new partnumber support in SLO, and then s3api 21:08:32 those are the indianwhocodes patches 21:09:20 oh, and gerrit's down for now... i think the SLO one was https://review.opendev.org/c/openstack/swift/+/894570 tho 21:09:45 I think we've all been distracted by holidays and family stuff in last week or so 21:10:38 speaking of distractions, there's a chance i'll be out for jury duty next week... 21:11:24 i'll set a reminder for myself to get a message out one way or the other my tuesday evening, though 21:11:54 kk, or just let me know and I'll pass it along 21:13:31 so i've just got one other thing i've been thinking about the last few weeks: 21:13:48 i noticed that our "seamless reloads" aren't always so seamless 21:14:28 it's pretty easy to see: run swift-bench, then reload the proxy part way through -- there'll be a bunch of connection resets 21:15:17 oh good test 21:16:08 i'm pretty sure the issue comes down to incoming connections sitting in the old workers' accept queues; when we close the old listen socket, our accept() call immediately starts returning EBADF and all the queued connections get reset 21:16:53 so i'm going down an ebpf rabbit hole to figure out how we might be able to prioritize the new worker sockets over the old ones 21:17:14 ahh yeah. We could test that by turning the accept queue down to something tiny 21:17:29 it'll be an adventure! 21:17:41 yay 21:17:41 so we wait for greenthreads to complete in flight requests but those in the accept queue are dropped? 21:17:59 yup, as best i can tell 21:18:47 the accept queue have been accepted by the OS but we haven't accepted them from our side of the socket. So if we're not pulling requests of the socket anymore, those clients miss out 21:19:26 eh, the queue doesn't need to be tiny -- in fact, if we make it *too* small, you'll see the bad behavior regardless, as the kernel doesn't have anywhere to put the connection (so it'll just drop it) 21:19:29 right 21:20:38 yeah, I just meant to test if its the accept queue 21:21:28 I wonder if there is a way to put the socket into close_wait but still deal with the requests (if that is even possible) not sure of the socket state machine. 21:22:39 i think something like https://paste.opendev.org/show/bcMWJVwkAbAlhpt6xQY0/ shows the bad pretty well, and doesn't even need swift or eventlet 21:22:41 Anyway, I super interesting research spike, good thinking Tim. 21:24:01 but i think that's all i've got for this week 21:25:19 kk, I don't have anything either. A big chuck of downstream work is now completed for me, so hopefully I'll get a bunch of swift time now, so maybe next week I'll have been more productive :) 21:27:19 all right, i think i'll call it early 21:27:29 thank you all for coming, and thank you for working on swift! 21:27:35 #endmeeting