Wednesday, 2024-10-02

opendevreviewOpenStack Proposal Bot proposed openstack/swift master: Imported Translations from Zanata  https://review.opendev.org/c/openstack/swift/+/93112004:06
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: make MPUSession.is_aborted a property  https://review.opendev.org/c/openstack/swift/+/93102310:26
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: minor middleware fixes  https://review.opendev.org/c/openstack/swift/+/93101113:10
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: complete mpu with user content-type when available  https://review.opendev.org/c/openstack/swift/+/93116513:10
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: minor middleware fixes  https://review.opendev.org/c/openstack/swift/+/93101113:14
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: complete mpu with user content-type when available  https://review.opendev.org/c/openstack/swift/+/93116513:14
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: use '~' delimiter for MPUId parts  https://review.opendev.org/c/openstack/swift/+/93102113:36
opendevreviewYan Xiao proposed openstack/swift master: stats: API for native labeled metrics  https://review.opendev.org/c/openstack/swift/+/90988213:59
opendevreviewYan Xiao proposed openstack/swift master: Add labeled metrics to proxy-logging  https://review.opendev.org/c/openstack/swift/+/91771113:59
opendevreviewMerged openstack/swift feature/mpu: mpu: make MPUSession.is_aborted a property  https://review.opendev.org/c/openstack/swift/+/93102314:14
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: use '~' delimiter for MPUId parts  https://review.opendev.org/c/openstack/swift/+/93102114:26
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: minor middleware fixes  https://review.opendev.org/c/openstack/swift/+/93101114:58
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: complete mpu with user content-type when available  https://review.opendev.org/c/openstack/swift/+/93116514:58
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: modify MPU entries in container listing  https://review.opendev.org/c/openstack/swift/+/92884015:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: completeUpload: Parse user manifest before modifying session  https://review.opendev.org/c/openstack/swift/+/92965415:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: completeUpload: append part count to MPU etag  https://review.opendev.org/c/openstack/swift/+/92965615:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: cleanup mpu GET and HEAD response headers.  https://review.opendev.org/c/openstack/swift/+/93036915:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: fix listParts response headers  https://review.opendev.org/c/openstack/swift/+/93048315:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: mpu: pad part-number in part names to 6 digits  https://review.opendev.org/c/openstack/swift/+/93074115:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: WIP: func test symlink to MPU  https://review.opendev.org/c/openstack/swift/+/93023515:00
opendevreviewAlistair Coles proposed openstack/swift feature/mpu: WIP s3api: add more MPU cross-compat  tests  https://review.opendev.org/c/openstack/swift/+/93118715:07
opendevreviewChinemerem Chigbo proposed openstack/swift master: Make object-expirer respect internal_client_conf_path  https://review.opendev.org/c/openstack/swift/+/93009515:58
opendevreviewTim Burke proposed openstack/swift master: slo: Support range requests for part-number queries  https://review.opendev.org/c/openstack/swift/+/90639116:10
opendevreviewYan Xiao proposed openstack/swift master: proxy-logging: Add real-time transfer bytes counters  https://review.opendev.org/c/openstack/swift/+/93091816:59
opendevreviewMerged openstack/swift feature/mpu: mpu: minor middleware fixes  https://review.opendev.org/c/openstack/swift/+/93101118:38
opendevreviewASHWIN A NAIR proposed openstack/swift master: s3api: testing for md5 mismatch errors  https://review.opendev.org/c/openstack/swift/+/93122319:56
opendevreviewJianjian Huo proposed openstack/swift master: Object-expirer: continue to process next container on listing errors  https://review.opendev.org/c/openstack/swift/+/93039320:07
opendevreviewASHWIN A NAIR proposed openstack/swift master: s3api: testing for md5 mismatch errors  https://review.opendev.org/c/openstack/swift/+/93122320:13
opendevreviewASHWIN A NAIR proposed openstack/swift master: s3api: testing for md5 mismatch errors  https://review.opendev.org/c/openstack/swift/+/93122320:52
opendevreviewASHWIN A NAIR proposed openstack/swift master: s3api: refactor testing for checksum errors  https://review.opendev.org/c/openstack/swift/+/93122320:53
kotagood morniing20:57
timburke#startmeeting swift21:00
opendevmeetMeeting started Wed Oct  2 21:00:57 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:01
zaitcevo/21:01
kotao/21:01
timburkei didn't get around to updating the agenda (sorry)21:01
timburkebut first up is still the PTG!21:02
timburke#topic PTG21:02
fulecorafao/21:02
timburkeit's not far off now -- Oct 21-2521:02
rwmtinkywinky4(not a part of the team, but thought I should make an appearance!)21:02
timburkei'm never too particular about who's "part of the team" -- way i see it, if you want to help make swift better, you're always welcome :-)21:04
rwmtinkywinky4great :D21:05
timburkei still need to book meeting slots for the ptg -- filling out the poll at https://framadate.org/LQOsGVVWXDhXqQUw would be appreciated21:05
timburkethough i also know there's a strong US contingent that hasn't responded yet :-/ i poked them internally earlier today21:06
timburkewe've also started gathering topics to discuss at21:07
timburke#link https://etherpad.opendev.org/p/swift-ptg-epoxy21:07
timburkei think i heard that cschwede might be able to make it, too -- it'd be nice to catch up a bit :-)21:09
timburkebut i think that's about all i've got to say about the ptg21:10
timburkenext up21:10
timburke#topic feature/mpu21:10
timburkeacoles is on a roll lately!21:10
fulecorafaacoles has been on a streak!21:10
timburkei'm sure he'd appreciate more feedback if anyone has some spare review cycles21:11
fulecorafaTrying to find some time to review these21:11
timburke#link https://review.opendev.org/q/project:openstack/swift+branch:feature/mpu+is:open21:11
timburketo get a sense of what's currently in progress21:11
timburkenext up21:14
timburke#topic object expirer21:14
timburkei know clayg and jianjian (and to some degree, acoles) have been thinking about this lately21:14
indianwhocodeso/21:14
fulecorafaDo we mean the object expirer for orphas in this case? Trying to get the context21:17
timburkeso we have a large backlog of work in the queue, and recently updated our task-containers-per-day from 100 to 1000021:18
timburkethe 100 is currently a hard-coded constant buried down in utils21:18
timburkewe previously ran into issues with all expirers wanting to list all tasks in every container -- with an expirer running on each object-server, we were doing so many listings that the container servers would get overloaded21:20
timburkeso we put up a patch to try to divide things such that any particular expirer could skip an entire container, then take more work from the containers that it *did* bother to list21:22
timburkein the extreme, each expirer could find the one and only container it actually cared about and work through the whole thing -- but only if we remove that hard-coded 100-containers-per-day limit21:24
timburketrouble was, even after doing that, we have a bunch of work still in the old queues, so what would happen was that we'd get 100 really busy expirers, and 1000+ mostly-idle ones21:25
jianjianyeah, Tim summarized the situation very well, thanks21:26
timburkeand worse, a bunch of the old entries were in fact stale -- the object had been overwritten, or updated with a new x-delete-at -- and the attempt to clean up the queue went to the new 1-in-10000 container, rather than the old 1-in-10021:27
timburkeso we're also looking at what to do with the mass of 412s you get when X-If-Delete-At doesn't match21:27
timburkewe think we've found a couple viable paths forward21:28
timburkefirst is to try to migrate the old queue entries to the new, expected location21:28
jianjianyes, thanks Tim for the suggestions for fixing 412, I am working on a patch trying to remove those old delete tasks from queue as soon as we see them21:28
timburkesecond is to try to figure out when a 412 happens because the metadata it was based upon was stale, so we can delete them rather than retry forever 21:29
jianjianalso, there is one patch under review as well, to have expirer dealing with all different listing errors, 503, 404: If, instead of this remark, my father had taken the pains to explain to me that the principles of Agrippa had been entirely exploded, and that a modern system of science had been introduced, I should certainly have thrown Agrippa aside, but the cursory glance my father had taken of my volume by no means 21:29
jianjianassured me that he was acquainted with its contents; and I continued to read with the greatest avidity.21:29
jianjiansorry, that was my son 😞21:30
jianjianalso, there is one patch under review as well, to have expirer dealing with all different listing errors, 503, 404: https://review.opendev.org/c/openstack/swift/+/93039321:30
patch-botpatch 930393 - swift - Object-expirer: continue to process next container... - 4 patch sets21:30
timburkejianjian, you reading frankenstein? i recently picked that up again -- been a while :-)21:30
timburkei was just looking for another quote earlier today: "It was my temper to avoid a crowd, and to attach myself fervently to a few."21:32
jianjianmy son is working on his homework, yes, it is frankenstein. And I accidentally copied his copy-and-post, haha, sorry again.21:32
kotalol21:33
timburkesome other interesting patches in this vein:21:33
timburke#link https://review.opendev.org/c/openstack/swift/+/92045221:33
patch-botpatch 920452 - swift - Configurable expiring_objects_task_container_per_day - 19 patch sets21:33
timburke#link https://review.opendev.org/c/openstack/swift/+/91836621:34
jianjianTim is a great coder plus reader 😉21:34
patch-botpatch 918366 - swift - Parallel distributed task container iteration - 22 patch sets21:34
timburke#link https://review.opendev.org/c/openstack/swift/+/91471321:35
patch-botpatch 914713 - swift - DNM expirer: new options to control task iteration - 36 patch sets21:35
indianwhocodesi would also appreciate a review on 21:36
indianwhocodes#link https://review.opendev.org/c/openstack/swift/+/91654721:36
patch-botpatch 916547 - swift - fix x-open-expired 404 on HEAD?part-number reqs - 43 patch sets21:36
jianjianthose two patches introduce a new random strategy and parallel strategy to distribute the expirer listing work evenly to every expirer, and probably will ditch random and land parallel only upstream if testing of parallel goes well in the end.21:37
timburkei feel like we ought to structure these a little more so we could actually review/merge some of them -- i don't particularly like hos that DNM patch is ahead of the other two -- makes me worry none of it's actually close to being able to merge21:37
indianwhocodesmy bad, msg got prematurely sent21:37
timburkeok, good to know jianjian21:38
timburkeindianwhocodes, no worries :-)21:38
timburkei think i'm running out of things to bring up anyway21:39
timburke#topic open discussion21:39
timburkewhat else should we discuss this week?21:39
fulecorafaSo, something came up around here, wanted to get your input in21:39
fulecorafaThe demand is to delete a container/bucket with items inside of it, without having to list all objects in container -> delete objects in batches -> delete container21:40
timburkedoes it need to be user(/client) facing?21:41
zaitcevIsn't it what bulk does?21:41
rwmtinkywinky4we do get people grumpy about that, and have scripts to work around it21:41
fulecorafaWas thinking of doind something like what object expirer does, but for buckets, `X-Delete-At` and "markers"21:41
JayFo/ I have an item for open discussion whenever you're at the end of this thread21:41
fulecorafatimburke yes we'd like it client facing21:41
zaitcevIt has both bulk upload and bulk delete. Still not a single call but at least better than the full thing.21:41
timburkea while back i wrote up https://github.com/openstack/swift/blob/master/swift/cli/container_deleter.py but it's intended as an operator tool21:41
fulecorafazaitcev kind of. In this case we're deleting buckets with about 100 milion objects, so it takes quite a long time to delete all objects throught client scripting21:42
fulecorafaSome bucket deletions are taking north of 7 days running non stop21:42
fulecorafatimburke nice to know, will certainly take a look. Thanks for the help21:44
fulecorafarwmtinkywinky4 mind sharing how you solved this?21:44
rwmtinkywinky4fulecorafa: I'll see if I can share some of our deletion scripts21:44
timburkefulecorafa, so one way or another, it's going to take a long time to fully process. what should happen with the bucket in the mean time? do we want this to be something like an account deletion, where the container still exists but client attempts to access it get back a 410 or the like?21:44
fulecorafatimburke yes I'm aware. But at this point, the important thing is to make it appear to the client as if it's already been deleted21:45
timburkei should go back through some of our old etherpads -- i'm sure i remember people talking about making a container-reaper before21:45
fulecorafaFrom what I understand, that's what happens in object expirer right? It may still be there, not deleted, but since it is marked with `X-Delete-At` it is not listed to the user/client21:46
timburkefulecorafa, what should happen if they attempt to recreate it?21:46
timburkeyup -- objects appear in listings until the expirer actually processes them21:46
fulecorafaThat's a good question, but I recon it should just fail with a BucketAlreadyExists21:47
jianjianhaven't tried it and read code, can we rename a container?21:48
timburkejianjian, nope -- gotta copy all the data, then delete the old locations21:48
zaitcevThe name inputs into DHT directly for both containers and objects, so I highly doubt it's possible.21:48
zaitcevThere's no inode.21:48
timburkebingo21:48
fulecorafajianjian I think not. The "move" existant is just a copy then delete21:48
jianjianyeah, it's the ring.21:49
fulecorafaOne thing to notice is that we have a workaround to share the bucket namespace between all accounts21:49
fulecorafaSo user_b cannot create my_bucket if user_a/my_bucket exists21:50
timburkefulecorafa, the jobbed off delete seems reasonable enough -- i could definitely imagine a way to make that work. might even be able to piggy-back off the existing account-reaper -- have it start looking at both account and container dbs. it'd be a bit of finicky plumbing to get all the behaviors right, i think21:50
timburkefulecorafa, the global bucket namespace sounds super cool! i keep meaning to think more about that, but haven't21:51
fulecorafaYeah, in our case we just keep a separate DB, not implemented in swift itself21:51
fulecorafaSorry about that21:51
timburkeyeah, that seems like the way to do it :-)21:52
timburkeshould be low enough write traffic that it wouldn't be too hard to manage21:52
fulecorafaYep21:52
fulecorafaI do think it's finicky as well. But I took enough time, I think JayF wanted to chat?21:53
fulecorafaThanks for the help guys!21:53
JayFMine is easy and simple: just wanted to draw attention to https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/XJUTKK5ZVWEO6IFHVQ3YSH6S5HQE6NEQ/ 21:53
JayFand request on behalf of VMT you audit your security contacts in case we need to contact someone about a security vuln21:53
JayFwe've discovered many teams had hideously out of date groups so I'm asking folks to check21:53
JayFthat's all but I'm happy to answer questions if you've got 'em o/21:54
timburkeJayF, thanks for the heads-up! there are definitely some folks listed that i wouldn't expect to be terribly active in resolving any security issues, but all the people that should be there are21:55
JayFalright, I'd suggest removing those folks so they aren't accidentally made privvy to secrets they don't need to know21:56
JayFbut thanks for checking :D21:56
timburkei probably ought to add a topic to for the PTG: "review core membership"21:57
JayFYeah. I've suggested in Ironic community that we more aggressively add cores. It's easy to revert an accidentally-merged change; it's hard to onboard someone if the core team dwindles too low.21:58
timburkeJayF, so the coresec members are a subset of the overall cores, i take it?21:59
JayFI don't think it has a universal meaning other than "the first place VMT looks for humans to review security issues if they don't have a security liason"21:59
JayFand given our old security liason tracking page is in the wiki and is about 5 years outta date22:00
JayFyou can see why I take the approach I am :D22:00
timburkei was thinking more specifically about "what does ironic do?" and "is that maybe what *we* should do?"22:01
timburkei suppose whoever's listed there can specifically bring in other subject-matter experts if/as needed to a given security bug22:02
timburkeall right, we're a bit past time22:03
timburkethank you all for coming, and thank you for working on swift!22:03
timburke#endmeeting22:03
opendevmeetMeeting ended Wed Oct  2 22:03:26 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)22:03
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2024/swift.2024-10-02-21.00.html22:03
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2024/swift.2024-10-02-21.00.txt22:03
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2024/swift.2024-10-02-21.00.log.html22:03
JayFIronic just has coresec set to 4 of our longest term cores22:03
JayFand realistically, I'm on VMT22:03
JayFso that's a bit of a cheat for us lol22:03
rwmtinkywinky4fulecorafa: have DMed with my terrible code for cleaning containers out, but nothing particularly magic about it22:04
fulecorafaThanks a lot rwmtinkywinky422:06
opendevreviewJianjian Huo proposed openstack/swift master: Delete s3api MPU segments when expiring the manifest  https://review.opendev.org/c/openstack/swift/+/80070123:08
opendevreviewJianjian Huo proposed openstack/swift master: DNM expirer: new options to control task iteration  https://review.opendev.org/c/openstack/swift/+/91471323:08
opendevreviewJianjian Huo proposed openstack/swift master: Configurable expiring_objects_task_container_per_day  https://review.opendev.org/c/openstack/swift/+/92045223:08
opendevreviewJianjian Huo proposed openstack/swift master: refactor: remove iter_task_accounts_to_expire  https://review.opendev.org/c/openstack/swift/+/91963923:08
opendevreviewJianjian Huo proposed openstack/swift master: Parallel distributed task container iteration  https://review.opendev.org/c/openstack/swift/+/91836623:08
timburkewhee! sure enough, looks like message framing issues in #208110323:55
patch-bothttps://bugs.launchpad.net/swift/+bug/2081103 - s3api: Deleting the current version of an object can (sometimes?) 500 (Confirmed)23:55

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