Wednesday, 2024-05-01

opendevreviewYan Xiao proposed openstack/python-swiftclient master: Fix swiftclient output regression  https://review.opendev.org/c/openstack/python-swiftclient/+/91613513:59
opendevreviewTim Burke proposed openstack/pyeclib master: Add job to build wheels  https://review.opendev.org/c/openstack/pyeclib/+/91785715:48
opendevreviewTim Burke proposed openstack/pyeclib master: Add job to build wheels  https://review.opendev.org/c/openstack/pyeclib/+/91785715:54
opendevreviewAnish Kachinthaya proposed openstack/swift master: fix x-open-expired 404 on HEAD?part-number reqs  https://review.opendev.org/c/openstack/swift/+/91654715:56
opendevreviewTim Burke proposed openstack/pyeclib master: Add job to build wheels  https://review.opendev.org/c/openstack/pyeclib/+/91785716:19
opendevreviewTim Burke proposed openstack/pyeclib master: Add job to build wheels  https://review.opendev.org/c/openstack/pyeclib/+/91785717:45
opendevreviewTim Burke proposed openstack/pyeclib master: Add job to build wheels  https://review.opendev.org/c/openstack/pyeclib/+/91785718:07
opendevreviewClay Gerrard proposed openstack/swift master: expirer: new options to control task iteration  https://review.opendev.org/c/openstack/swift/+/91471318:40
opendevreviewClay Gerrard proposed openstack/swift master: Delete s3api MPU segments when expiring the manifest  https://review.opendev.org/c/openstack/swift/+/80070118:42
opendevreviewTim Burke proposed openstack/swift master: Test under py312  https://review.opendev.org/c/openstack/swift/+/91787820:33
opendevreviewTim Burke proposed openstack/swift master: Test under py312  https://review.opendev.org/c/openstack/swift/+/91787820:38
timburke#startmeeting swift21:00
opendevmeetMeeting started Wed May  1 21:00:02 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 team meeting?21:00
mattolivero/21:00
timburkehuzzah! i was worried i'd be left talking to myself ;-)21:01
mattolivernot this time :) 21:01
timburkei tried to do a better job of prepping this week21:01
timburkeso the agenda's pretty full at21:01
timburke#link https://wiki.openstack.org/wiki/Meetings/Swift21:02
timburkefirst up21:02
timburke#topic utils refactor21:02
timburke#link https://review.opendev.org/c/openstack/swift/+/91402921:02
patch-botpatch 914029 - swift - Refactor utils - 20 patch sets21:02
timburkeclayg, acoles, and i all like where this has landed21:02
timburkeunfortunately it looks like there was a probe test failure in the gate (test_reconciler_move_object_twice), so it'll need a recheck21:03
mattoliveryeah, I love the idea of further refactor, utils is getting big.. but not looking forward to the rebase fallout, esp in tracing :P 21:03
timburkebut it'll be coming in the next day or so21:03
timburkeand yeah, expect a decent number of merge conflicts to fall out of it (sorry in advance)21:04
mattoliverkk21:04
timburkei'll try to get a merge down to feature/mpu up asap once its landed so acoles can have a ready-to-go-branch in his morning21:05
timburke#topic probe test timeouts21:05
mattoliveroh yeah great idea21:05
timburkewhile i was reviewing that patch, i noticed that we get a fair bit of probe test timeouts21:06
timburkenot a *ton*, but more than i'd like21:06
timburkesome of them more or less make sense -- a patchset breaks every probe test, then the retry-failed-tests logic kicks in and retries them *all*...21:07
timburkeyeah, that's reasonably likely to cause a timeout21:07
timburkeothers seem to just hang, though, and that's more worrying21:07
timburke#link https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_aeb/913949/3/check/swift-probetests-centos-9-stream/aebbd31/job-output.txt21:08
timburkefor example, gets 8% of the way through the tests, then hangs until the timeout pops 1h51m later21:08
mattoliverwow21:09
timburkethe test that hangs isn't consistent, fwiw21:09
timburke#link https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_67c/909800/7/check/swift-probetests-centos-9-stream/67cfe7b/job-output.txt21:09
timburke#link https://9b6014e80e764b848f3d-c29773bdeee4530a738751d9e026e2a7.ssl.cf1.rackcdn.com/874806/23/check/swift-probetests-centos-9-stream/ddc315e/job-output.txt21:09
mattoliverbeen able to reproduce when running probe tests locally?21:09
timburkenope -- so honestly i'm not quite sure how to debug it21:10
timburkebut i figured i'd bring it up in case anyone else had ideas21:10
timburkei should probably write up a bug about it, and try to track job failures more closely21:11
timburkeif anyone else wants to take a look, i found this helpful21:11
timburke#link https://zuul.opendev.org/t/openstack/builds?job_name=swift-probetests-centos-9-stream&job_name=swift-probetests-centos-8-stream&project=openstack%2Fswift&result=TIMED_OUT&skip=0&limit=10021:11
mattoliveryeah bug might be a good start. I'll run some probe tests locally in the meantime and see what happens21:11
mattoliveron nice21:12
timburkeit does seem like things go worse around March -- prior to that, it was mostly ~1/month21:12
timburkebut of course, the older runs don't still have logs attached to verify the hang21:13
timburkenext up21:13
timburke#topic liberasurecode release21:14
timburkeit's been like a couple years!21:14
timburkeso i put together authors/changelog21:14
timburke#link https://review.opendev.org/c/openstack/liberasurecode/+/91778421:14
patch-botpatch 917784 - liberasurecode - Release 1.6.4 - 1 patch set21:14
mattoliveryeah probably due for a release :P 21:15
timburkethere's nothing too major -- there's a bounds-check that callers might appreciate, but otherwise it's mostly code cleanup and build fixes21:15
mattoliverkk, will review it today21:15
timburkeprobably half the reason is just to make sure i remember how to do one of these ;-)21:15
timburkethanks21:15
timburkespeaking of ec...21:16
timburke#topic manylinux wheels for pyeclib21:16
timburkeso i've been playing with this for a bit, and created a Dockerfile to help build these a while back21:17
timburke#link https://review.opendev.org/c/openstack/pyeclib/+/81749821:17
patch-botpatch 817498 - pyeclib - Add Dockerfile to build manylinux wheels - 11 patch sets21:17
timburkebut i finally got around to trying to get them building in CI!21:17
timburke#link https://review.opendev.org/c/openstack/pyeclib/+/91785721:17
patch-botpatch 917857 - pyeclib - Add job to build wheels - 5 patch sets21:17
mattoliveroh yeah, I remember you playing with this21:17
mattolivernice21:17
timburkeit even has them showing up as artifacts on the zuul build page: https://zuul.opendev.org/t/openstack/build/a8e195bfe57b4d2c928d1a52a0523e4e/artifacts21:18
timburkenext up i want to beg some help from someone who knows zuul and the release process better than me to figure out how to actually build & upload that when we tag a release21:19
mattoliveryou might have to visit infra for that 21:20
timburkei also realize it might be nice to provide a little more context on manylinux wheels and why i want this21:20
mattolivertrue21:20
timburkeso any of us can build a binary wheel already -- setup.py bdist_wheel and away you go21:22
timburkebut that would create a wheel tied to your specific version of system libraries (including not just glibc but also liberasurecode)21:23
timburkemeaning that you couldn't just publish it and expect other people to be able to use it. pypi will actually reject such a wheel if you even try21:24
timburkemanylinux wheels are designed so you *can* distribute them, because they target a really old version of glibc and glibc won't break backwards compat21:26
mattoliveroh ok, making alot more sense now21:27
timburkethat actually only solves half the problem, though -- great, glibc's OK, and we can probably expect other people to have *some* version of that installed21:28
timburkebut what about liberasurecode? or isa-l?21:28
timburkethere's a way to have those baked into the wheel, too! and since *those* will only depend on some widely-installed libraries, now you've got a wheel that can actually be used in a lot of places21:30
timburke*and* you don't need a C build chain to install pyeclib21:31
mattoliveroh wow, ok. I never considered putting more into a wheel. I guess why not. The point is to save compiling etc. 21:31
timburkemy end goal is to be able to run `pip install swift` on a pretty bare-bones system and have it Just Work21:31
timburkeat least now you can say `pip isntall https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_a8e/917857/5/check/pyeclib-build-wheels/a8e195b/artifacts/pyeclib-1.6.1-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl swift` and i *think* that'll work ;-)21:32
timburke(until the build results expire)21:33
timburke(and assuming you fix my isntall typo :P)21:33
mattoliverthat would be cool. I actaully did just that yesterday (pip install swift) and then needed to get python.py and a compiler installed. So maybe good timing for this discussion :) 21:33
mattoliver*python.h21:33
timburkethere's more stuff that could be done (aarch64 wheels, musl wheels) but this seemed like a pretty good starting point21:35
timburkenext up21:35
timburke#topic expirer work21:35
mattoliver+121:35
timburkethere are a few patches we've been looking at lately21:35
timburkeone adds some more info to the expirer queue entries -- specifically, the content-length of items that are marked to expire21:36
timburke#link https://review.opendev.org/c/openstack/swift/+/91249621:36
patch-botpatch 912496 - swift - add bytes of expiring objects to queue entry - 13 patch sets21:36
timburkethe other body of work is trying to deal with the large number of expirers and large number of queue entries we've got in prod -- every object node is participating, and that can result in a lot of account/container db load when they all restart21:38
timburkethe fact that we've got a bunch of deferred work in the queue that should be skipped for now just adds to the frustration21:39
timburkeso clayg has a couple patches21:39
timburke#link https://review.opendev.org/c/openstack/swift/+/91471321:39
patch-botpatch 914713 - swift - expirer: new options to control task iteration - 14 patch sets21:39
timburke#link https://review.opendev.org/c/openstack/swift/+/91602621:39
patch-botpatch 916026 - swift - distributed parallel task container iteration - 6 patch sets21:39
timburkethey were stacked previously, but that second one hasn't been updated in a little bit21:40
timburkefwiw, though, i wonder how much we'd need the first one if we had the second one already21:40
mattoliverwould finally moving to the new task queue (that divides up the queues amongst all the partitions (or whatever)) making it more distributed, be an option?21:41
mattoliverI haven't really looked into these patches yet. I'll try and get too that to get a better understanding21:42
timburkepotentially? p 517389 hasn't seen real activity since 2019, though, and we'll still need to deal with the 1B+ queue entries in the old layout21:43
patch-bothttps://review.opendev.org/c/openstack/swift/+/517389 - swift - Add object-expirer new mode to execute tasks from ... - 47 patch sets21:43
timburkenext up...21:44
mattoliveroh yeah, just thinking out loud21:45
timburke#topic py2/py3 behavior difference in brokers21:45
timburkeacoles and i noticed a funny thing while reviewing a patch on feature/mpu21:45
timburkewhen we bulk-load all the rows from the pending file into a db, py2 shuffles the rows!21:46
mattoliveryeah, I've noticed this. And skipped on py2 tests because the row insert order isn't known bewteen the 221:46
timburkethis was a bit of a surprise to both of us21:46
timburkeoh! which test, do you remember? i want to fix it so py2 behaves like py321:47
mattoliverdidn't py2's dict not strickly ordered. maybe it's used as a datatype down in the sqlite module or something21:47
timburkeit comes down to dict iteration order -- i think we just need to use an OrderedDict around https://github.com/openstack/swift/blob/2.33.0/swift/container/backend.py#L136521:48
mattoliverI'll have to find it.. it was a while ago21:48
timburkeand maybe https://github.com/openstack/swift/blob/2.33.0/swift/container/backend.py#L34121:48
mattoliverwhere was working on brokers. maybe in the shard-ragne sync point patch, or maybe somethnig that's landed. I'll have to go digging. I'll ping you when I find it. 21:49
timburkethat'd be great if you can. i might be able to find it on my own, too, now that i know it's somewhere out there21:49
timburkelast up21:49
timburke#topic unreleased swiftclient bug21:49
timburkethere are a couple bugs caused by a recent-ish swiftclient patch, but Yan's got a fix up for them!21:50
timburke#link https://review.opendev.org/c/openstack/python-swiftclient/+/91613521:50
patch-botpatch 916135 - python-swiftclient - Fix swiftclient output regression - 5 patch sets21:50
mattoliveroh nice21:50
timburkewe probably want to get that reviewed & merged fairly soon21:51
mattoliverkk, I'll put it on my list21:51
timburkeall right, that's all i've got21:51
timburke#topic open discussion21:51
timburkeanything else we want to bring up?21:51
mattoliverWe do have some students from a university in Qatar who want to work on swift as a project at Uni, their teacher/lecturer as reached out. 21:52
mattoliverI was trying to think of some swift related project for them to work on. 21:52
timburkeoh yeah, i think i saw you forwarded something to me... sorry, i'm bad at keeping up with outreach21:53
mattoliverSo any thoughts would be greatly appreciated. Not sure on the size or complexity though.21:53
mattoliverLooking at our old ideas page maybe one of these?21:53
mattoliveraccount quotas for number of files21:54
mattoliver#link https://wiki.openstack.org/wiki/Swift/ideas/account-quota-files21:54
mattolivertask queue (though maybe to complex)21:54
mattoliverprobably same with teiring. 21:55
mattoliverwe could try and give them pipeline automation21:55
mattoliverI think the reconciler and sharder daemons need better scaling (ie added concurrency with workers etc). 21:56
timburkeoh yeah, i should revisit p 635040 ...21:56
patch-bothttps://review.opendev.org/c/openstack/swift/+/635040 - swift - Include some pipeline validation during proxy-serv... - 5 patch sets21:56
mattoliverOr maybe just something something intersting audit-watcher or custom middleware. 21:56
timburkei'll have a think on it21:57
mattoliverThanks, me too. And jianjian too now that he's joined the room :P 21:58
mattoliverI think we're basically out of time.. so that'll do from me :) 21:58
timburkeall right. thank you for coming, and thank you for working on swift!21:59
timburke#endmeeting21:59
opendevmeetMeeting ended Wed May  1 21:59:57 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)21:59
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2024/swift.2024-05-01-21.00.html21:59
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2024/swift.2024-05-01-21.00.txt21:59
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2024/swift.2024-05-01-21.00.log.html21:59

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