Wednesday, 2024-01-10

opendevreviewAlistair Coles proposed openstack/swift master: Use Namespaces when that's all we need  https://review.opendev.org/c/openstack/swift/+/89824414:52
opendevreviewAlistair Coles proposed openstack/swift master: proxy: only use listing shards cache for 'auto' listings  https://review.opendev.org/c/openstack/swift/+/90133514:57
timburkeon p 904548 -- what do we think about removing bin/swift from the swiftclient repo? anyone have objections?17:29
patch-bothttps://review.opendev.org/c/openstack/python-swiftclient/+/904548 - python-swiftclient - Remove duplicate script entry leading to broken wh... - 1 patch set17:29
timburke#startmeeting swift21:00
opendevmeetMeeting started Wed Jan 10 21:00:14 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
claygthis is where all the cool kids party right?21:00
timburkeit's a clayg! been a bit :-)21:00
mattolivero/21:01
jianjiano/21:01
acoleso/21:02
timburkeas usual, the agenda's at21:02
timburke#link https://wiki.openstack.org/wiki/Meetings/Swift21:02
timburkethough i mostly haven't updated it since last week21:02
timburke#topic py312 support21:03
timburkei said i'd work on that a bit more last week, and i did!21:03
timburkethere are a few patches up at https://review.opendev.org/q/project:openstack/swift+topic:py31221:03
timburkewith those, i've got unit tests passing on py312 (i forget whether i'd tried func tests; fairly certain i didn't try probe)21:04
timburke#link https://review.opendev.org/c/openstack/swift/+/90460021:04
patch-botpatch 904600 - swift - Stop using deprecated datetime.utc* functions - 2 patch sets21:04
mattolivernice work. And nice to see patchbot again :) 21:05
timburkewas a fun one; prior to that, we'd trip so many deprecations that a full pytest run would cause memory errors omm21:05
timburkei'ts got a pre-req that just refactors some s3api tests21:06
timburke#link https://review.opendev.org/c/openstack/swift/+/904599/121:06
patch-botpatch 904599 - swift - tests: Switch get_v4_amz_date_header to take timed... - 1 patch set21:06
clayg🀣21:06
claygdoes the test runner like buffer them all?21:06
timburkeapparently? something21:07
claygor did you just run one file - see the warning - fix it - and then after no more OOM?21:07
timburkeafter the memory error, i switched to running one file (or at least, one subdir) at a time, then saw a boatload of deprecation warnings coming out of our Timestamp21:08
timburkethere were also a handful of failures zigo cataloged at #204635221:09
patch-bothttps://bugs.launchpad.net/swift/+bug/2046352 - Unit test failure under Python 3.12 (In Progress)21:09
claygyuk; what a mess21:09
timburkei think i managed to track down the first two to an improvement in sum()21:09
timburke#link https://review.opendev.org/c/openstack/swift/+/90460121:10
patch-botpatch 904601 - swift - tests: Fix float expectations for py312 - 2 patch sets21:10
claygso, my vsaio doesn't have a py3.12 on it?  Do we still have some deadsnakes or ppi plumbing that makes it easy to get py3.12 or did you just compile from source?21:10
timburkeyeah, deadsnakes should be able to get you a 3.12 (on jammy, anyway)21:10
timburkei *have* been doing some compiling from source, but that tended to be more around the eventlet woes ;-)21:11
clarkbpyenv simplifies the from source problem a bit21:12
indianwhocodeso/21:12
clayg`sudo apt-get install python3.12 -y` totally works - wtg deadsnakes21:12
timburkeclarkb, thanks for the tip, but if i'm that far down the rabbit hole, i tend to be hopping around between shas ;-)21:13
timburkethe last failure was to do with a failure to log about client disconnects, which seemed to ring some bells21:14
clayghttps://github.com/pyenv/pyenv?tab=readme-ov-file#install-additional-python-versions21:14
timburke#link https://review.opendev.org/c/openstack/swift/+/90465221:14
patch-botpatch 904652 - swift - Be more explicit about closes in string_along - 1 patch set21:14
timburkeseemed to resolve it, though acoles had an idea for another approach in21:14
timburke#link https://review.opendev.org/c/openstack/swift/+/90501121:14
patch-botpatch 905011 - swift - wip: ClosingIterator class - 1 patch set21:14
timburkeall that's to say, i think most of those patches are good to go; the disconnects may require a little more thought, though21:16
timburkethen we'll figure out what it takes to get a py312 gate job21:17
acolesit's about being more explicit about calling close() - which is how that GeneratorExit handler gets executed - either call close or rely on gc21:17
timburkei do like how the ClosingIterator removes the need for that sync point i added originally21:19
timburkei'll see about getting your follow-up to the point of passing tests -- i forget whether my suggestions would suffice21:19
acolesright. but looks like i broke tests, I'll take another look at it21:20
timburkepretty sure it was a failure to close once the iterator's exhausted21:20
timburkeif we like that, i'm happy to use that instead (once tests pass)21:21
timburkenext up21:21
acoles+1 your comment about other_iterables - that's the key thing with the string_along - zap the nested iterable too21:21
timburke#topic newest eventlet21:21
timburkei never did hear more about21:22
claygacoles: timburke: both of the patches look way more complicated than i would hope things should have to be to write idomatic and correct wrapping of iterators that all get properly closed in python/wsgi/eventlet... but of the two i think the class-based impl may be a little easier for me to grok21:22
timburke#link https://review.opendev.org/c/openstack/swift/+/90445921:22
patch-botpatch 904459 - swift - Get tests passing with latest eventlet - 2 patch sets21:22
timburkeclayg, yeah, i was coming around on acoles's patch; i'm still said about how hard it is to correctly use generators for a response iter, though21:23
timburkesad, rather21:23
claygπŸ’― 😭21:24
timburkeon the patch to work with latest eventlet -- do we have any strong feelings about trying harder to make sure eventlet.monkey_patch isn't called in tests?21:25
timburkei could try moving the mock-out up into setup21:25
timburkeor we could just land it as-is. i'd definitely prefer it if a fresh dev env wouldn't have segfaulting tests21:26
timburkeref #204776821:27
patch-bothttps://bugs.launchpad.net/swift/+bug/2047768 - unittests failed with segmentation fault (In Progress)21:27
timburkecontinuing to wait for https://github.com/eventlet/eventlet/pull/866 to merge & be released is another strategy, i suppose...21:28
timburkeall right, i'm'a just merge it21:30
timburke#topic s3api and part-number api21:30
timburke#link https://review.opendev.org/c/openstack/swift/+/89457021:30
patch-botpatch 894570 - swift - slo: part-number=N query parameter support - 85 patch sets21:30
timburke#link https://review.opendev.org/c/openstack/swift/+/89458021:30
patch-botpatch 894580 - swift - s3api: Support GET/HEAD request with ?partNumber - 93 patch sets21:30
timburkeis there anything else that needs to be done on these, or are they just awaiting review?21:31
mattoliverGreat question, I've been on vactaion, so would also love to know the answer :) 21:32
acolesI believe they are ready21:32
indianwhocodesyes they are.21:33
acolesthere's two patches: slo support and s3api support21:33
acolesof course, review tends to lead to more needing to be done, but you know what I mean by 'ready'21:34
timburke:-)21:34
acoleswe've shipped them into prod21:34
mattoliverkk nice21:34
timburkeall right -- who's planning on reviewing with an eye toward dropping a +2?21:35
acolesme21:35
acolesI've co-authored so another set of eyes would be good21:36
timburkesounds good. i'll plan on taking a look this week, too21:37
timburke#topic get_namespaces api21:37
acolesditto!!21:37
timburke#link https://review.opendev.org/c/openstack/swift/+/89047021:37
patch-botpatch 890470 - swift - Container-server: add container namespaces GET - 57 patch sets21:37
timburke#link https://review.opendev.org/c/openstack/swift/+/90133521:38
patch-botpatch 901335 - swift - proxy: only use listing shards cache for 'auto' li... - 18 patch sets21:38
acolesready to go, I've already voted21:38
acolesmattoliver: any chance you could swing by them again? think you're blamed for the proxy side :D21:38
timburkeoh, there's one more in the middle!21:38
timburke#link https://review.opendev.org/c/openstack/swift/+/89560221:38
patch-botpatch 895602 - swift - Proxy: Use namespaces when getting listing/updatin... - 45 patch sets21:38
mattoliveryes! That was todays plan21:38
acolesp901335 is the icing21:39
acolespatch 901335 is the icing21:39
patch-bothttps://review.opendev.org/c/openstack/swift/+/901335 - swift - proxy: only use listing shards cache for 'auto' li... - 18 patch sets21:39
mattoliverI love that one :) 21:39
timburkesorry, i think i've got it requiring the space in between... can work on that for next week21:39
acolesmattoliver: thanks21:40
timburkeperfect, though. sounds like we've got lots of stuff nearing completion then :D21:40
jianjianI looked 901335 briefly before, will do that again later21:40
timburkeone more last-minute topic21:41
timburke#topic swiftclient reviews21:42
acolesthe first 2 patches add the new 'feature', the third (901335) tries to unravel the mess we discovered in the proxy container GET path21:42
zaitcevoh, snap. I forgot that swiftclient existed.21:42
timburkethere are a few patches we probably ought to take a look at!21:42
acoleszaitcev: me too!21:42
timburke#link https://review.opendev.org/c/openstack/python-swiftclient/+/90454821:42
patch-botpatch 904548 - python-swiftclient - Remove duplicate script entry leading to broken wh... - 1 patch set21:42
timburkeseems to fix some wheel-building woes -- but i wonder if it goes far enough. is there any reason we *shouldn't* just get rid of the bin/swift shim?21:43
timburke#link https://review.opendev.org/c/openstack/python-swiftclient/+/90454721:44
patch-botpatch 904547 - python-swiftclient - make setup dependencies discoverable - 1 patch set21:44
timburkejumps into the pyproject.toml world (though perhaps too aggressively -- i think various PTI things expect us to still have a setup.py)21:45
acolestimburke: help me grok this comment https://review.opendev.org/c/openstack/python-swiftclient/+/904548/comment/83bc61d9_b976a4d9/ - what could someone NOT do if it was removed?21:45
patch-botpatch 904548 - python-swiftclient - Remove duplicate script entry leading to broken wh... - 1 patch set21:45
timburkeclone the repo then run ./bin/swift from the freshly-cloned repo21:46
timburke(at least, i think that's possible today?)21:46
acolesOIC, without installing first?21:47
zaitcevI do that once in a while. But at least for me it also requires PYTHONPATH set.21:47
zaitcevPYTHONPATH=/q/zaitcev/hail/python-swiftclient-tip $PYTHONPATH/bin/swift -A http://rhev-a24c-01.mpc.lab.eng.bos.redhat.com/auth/v1.0 -U test:tester -K testing upload testcont 2009_t3_beatty_v2.avi21:48
acoleswhereas the entrypoint creates the same on install21:48
zaitcevno, wait, that's actually what NOT to do21:48
zaitcevPYTHONPATH=/q/zaitcev/hail/python-swiftclient-tip /q/zaitcev/hail/python-swiftclient-tip/bin/swift --os-cacert=/q/zaitcev/arc/CA/certs/cacert.pem -A https://rhev-a24c-01.mpc.lab.eng.bos.redhat.com/auth/v1.0 -U test:tester -K testing stat21:49
zaitcevbetter21:49
zaitcevSorry for the noise. But to answer Tim's question: yes.21:49
timburkezaitcev, how do you feel about the `python -m swiftclient.shell` workaround? (though i'm pretty sure it also requires the PYTHONPATH changes)21:49
zaitcevI can adapt to anything, as long it's in doc/sources/*rst somewhere21:50
zaitcevPlease don't just drop it in changelog.21:50
timburkeall right; so leave it for now, maybe drop in a follow-up, but make sure there's some kind of docs. good feedback πŸ‘21:51
claygIs the location of the files in the tree currently *documented*21:51
timburkethere are a handful of other patches we could probably stand to review: https://review.opendev.org/q/project:openstack/python-swiftclient+status:open+-age:52w21:53
timburkeall right, that's all i've got21:53
timburke#topic open discussion21:53
timburkeanything else we ought to bring up in these last few minutes?21:54
mattoliverI've been scratching to do some dev, so been playing with shard replication sync points. p 90506421:54
patch-bothttps://review.opendev.org/c/openstack/swift/+/905064 - swift - wip: shard replication sync points - 1 patch set21:54
mattoliverno where near ready, just thinking about how it'll work.. that might work. need to write tests.21:55
mattoliverAlso, I went a head and landed dark data watcher, finally! p 78765621:55
patch-bothttps://review.opendev.org/c/openstack/swift/+/787656 - swift - Make the dark data watcher work with sharded conta... (MERGED) - 14 patch sets21:55
timburkeπŸŽ‰21:56
mattoliverSorry it took so long zaitcev 21:56
jianjiannice!21:56
timburkeand sorry i didn't do more to help my own patch...21:56
zaitcevnp, I actually joined the meeting primarily to thank you21:56
jianjianshard replication sync point is also a good idea21:56
mattoliverlol21:56
zaitcevStill, to think that we have a patch outstanding with 93 revsions! Dunno what I was unhappy about :-)21:57
acolesmattoliver:  πŸ™‡21:57
mattoliverlol, not patchsets time in that case I think :) 21:57
mattoliverCurrently when we replicate a root container, we replicate ALL shardranges both ways everytime. The patch bacially reuses the incoming/outgoing syncs table to keep track of whats been sent and only send shards that are new.21:58
mattoliverThere might be a little jitter as we still send both ways.. but should be better then before.. but like I said, I haven't really tested it enough, that first patchset was getting a first version off my computer :) 21:59
mattoliverthat's all I got, I think we're almost at time22:00
timburkeit'd be interesting to see how often shard ranges are actually changing... maybe we could get some stats out of merge_shard_ranges...22:00
timburkebut you're right -- we're at time22:01
timburkethank you all for coming, and thank you for working on swift!22:01
timburke#endmeeting22:01
opendevmeetMeeting ended Wed Jan 10 22:01:20 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)22:01
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2024/swift.2024-01-10-21.00.html22:01
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2024/swift.2024-01-10-21.00.txt22:01
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2024/swift.2024-01-10-21.00.log.html22:01
claygI thought there was some fundamental problem with the dark data watcher at scale?  Was it just the loaf of HEADS and listings or something with the watcher call back back pressure on the auditor runtime?  Or should everyone turn the t on?22:01
timburkepretty sure it was the listing load -- but if you tune down your auditors, it ought to be manageable22:02
mattoliverI added a warning to the doc talking about a possible misplaced edgecase and log should always be used first. But yes is also says it can be expensive.22:02
mattoliverPoint was, we already had the dark data watcher landed.. but now its better as it at least supports looking into sharded containers.. which before it didn't.22:03
claygOh!  Yeah that’s better then 😁22:04
zaitcevI tune my auditors by looking at how invasive they are, so I didn't have problems as such, but it may be a concern, yes. Fortunately, watchers are completely off by default, and anyone having extra load can switch them off.22:08
zaitcevNobody uses them for some kind of vital function, do they?22:08
opendevreviewMerged openstack/swift master: Get tests passing with latest eventlet  https://review.opendev.org/c/openstack/swift/+/90445922:49

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