21:07:49 #startmeeting swift 21:07:49 Meeting started Wed Mar 22 21:07:49 2023 UTC and is due to finish in 60 minutes. The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:07:49 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:07:49 The meeting name has been set to 'swift' 21:08:23 main things this week 21:08:30 #topic vPTG 21:08:36 it's next week! 21:08:53 already! 21:09:01 also, i accidentally scheduled a vacation at the same time 😳 21:09:10 wow 21:09:17 sure sure :P 21:09:22 yeah, no stress 21:09:31 but it sounds like mattoliver is happy to lead discussions 21:10:23 yeah, I aint no timburke but I can talk, so happy to lead. But need people to help me discuss stuff :) 21:10:44 So put your topics down! 21:11:00 timburke: do we have rooms scheduled etc? 21:11:59 no, not yet -- i'd suggest going for this timeslot, M-Th 21:12:23 sorry acoles. there isn't really a good time :-( 21:12:59 take good notes! i'll read through the etherpad when i get back :-) 21:13:14 kk 21:13:51 is there a place I'm suppose to suggest/register the rooms or just register them via the bot like I did for the ops feed back last time? 21:14:39 via the bot, like last time. anyone should be able to book rooms over in #openinfra-events by messaging "#swift book " 21:15:05 cool, I'l come up with something 21:15:29 #topic py3 metadata bug 21:15:34 #link https://bugs.launchpad.net/swift/+bug/2012531 21:15:36 So long as acoles is ok with it. Or maybe we have an earler one for ops feedback.. I'll come up with something 21:15:47 oh this seems like an interesting bug 21:15:59 so... it looks like i may have done too much testing with encryption enabled 21:17:01 (encryption horribly mangles metadata anyway, then base64s it so it's safer -- which also prevented me from bumping into this earlier) 21:19:15 but the TLDR is that py3-only clusters would write down object metadata as WSGI strings (that crazy str.encode('utf8').decode('latin1') dance). they'd be able to round-trip them back out just fine, but if you had data on-disk already that was written under py2, *that* data would cause the object-server to bomb out 21:20:19 sorry guys I need to drop off, I'll do my best to make the PTG - mattoliver let me know what you work out with times 21:21:02 acoles: kk 21:21:10 my thinking is that the solution should be to ensure that diskfile only reads & writes proper strings, not WSGI ones -- but it will be interesting trying to deal with data that was written in a py3-only cluster 21:21:12 timburke: oh bummer 21:22:10 so diskfile will need to know how to return potential utf8 strings as wsgi ones, so antoher wsgi str dance. 21:22:19 but I guess it's only for the metadata? 21:23:10 yeah, should only be metadata. and (i think) only metadata from headers -- at the very least, metadata['name'] comes out right already 21:24:15 hopefully it's a reasonable assumption that no one would actually *want* to write metadata that's mis-encoded like that, so my plan is to try the wsgi_to_str transformation as we read meta -- if it doesn't succeed, assume it was written correctly (either under py2 or py3-with-new-swift) 21:24:47 yeah, kk 21:25:06 let me know how you go or if you need me to poke at anything, esp while your away 21:25:24 thanks mattoliver, i'll try to get a patch up for that later today 21:25:30 and thanks for digging into it. thats a bugger of a bug. 21:27:04 makes me wish i'd had the time/patience to get func tests running against a cluster with mixed python versions years ago... 21:27:12 anyway 21:27:14 #topic swiftclient release 21:27:48 we've had some interesting bug fixes in swiftclient since our last release! 21:29:13 #link https://review.opendev.org/c/openstack/python-swiftclient/+/874032 Retry with fresh socket on 499 21:29:30 #link https://review.opendev.org/c/openstack/python-swiftclient/+/877110 service: Check content-length before etag 21:29:48 #link https://review.opendev.org/c/openstack/python-swiftclient/+/877424 Include transaction ID on content-check failures 21:30:11 #link https://review.opendev.org/c/openstack/python-swiftclient/+/864444 Use SLO by default for segmented uploads if the cluster supports it 21:30:34 so i'm planning to get a release out soon (ideally this week) 21:30:46 ok cool 21:30:59 thanks clayg in particular for the reviews! 21:32:37 that's most everything i wanted to cover for this week 21:33:37 nice. If there is anything else anyone wants to cover, put it in the PTG etherpad ;) 21:34:04 other initiatives seem to be making steady progress (recovering expired objects, per-policy quotas, ssync timestamp-with-offset fix) 21:34:13 #topic open discussion 21:34:21 anything else we should talk about this week? 21:34:44 We did have some proxies with very large memory useage > 10G 21:35:14 so not sure if there is a bug there. maybe some memory leak with connections.. but it's too early to tell. I'm attempting to dig in. but just a heads up. 21:35:21 right! this was part of our testing with py3, right? 21:35:29 may or may not turn into anything 21:35:43 yup 21:35:53 i'm anxious to see a repro; haven't had a chance to dig into it more yet, myself 21:36:31 there seems to be alot of CLOSE_WAIT connections, so wonder if its a socket leak or not closing properly or something. 21:36:41 I'll try and dig in some more today 21:37:40 nice 21:38:15 I am also working on an internalclient interface for getting shard ranges, as more and more things may need to become shard aware. 21:38:30 #link https://review.opendev.org/c/openstack/swift/+/877584 21:38:58 but it's still a WIP, like other things, let's see how we go. 21:39:49 if there is a gatekeeper added to the internal client it'll break the function though. Al has suggested one possible fix, I came up with a middleware shim in internal client, clayg seems to think we should just error hard. 21:40:06 break the interface I mean. 21:40:41 So dicsussions are happening about that.. might start with the simplest and error loud I guess, but let's see where it goes. 21:41:02 That's all I have 21:42:41 i'm surprised there'd be any internal clients that would want a gatekeeper... huh 21:43:11 well there aren't 21:43:45 but if someone creates one with alow_modify_pipeline=True (or whatever it's called), one will be added 21:44:13 and this would break sharding.. in fact it might already as the the sharder uses interenal client to get shards already, the interface just wants unified 21:44:33 or a mis configuration from an op. 21:49:31 i'll blame it on clayg ;-) https://review.opendev.org/c/openstack/swift/+/77042/1/swift/common/internal_client.py 21:49:31 So yeah, I could just be doing down an edgecase that doesn't really matter. But it is still a shoot foot edgecase, and do we attempt to avoid it, or assume people will do the right thing. 21:49:31 lol 21:49:31 well, i think i'll call it 21:49:31 kk 21:49:31 thats all I have anyway :) 21:49:31 thank you all for coming, and thank you for working on swift! 21:49:31 #endmeeting