Wednesday, 2022-11-16

opendevreviewMatthew Oliver proposed openstack/swift master: Ring: Add some initial v2 documentation  https://review.opendev.org/c/openstack/swift/+/86449400:00
opendevreviewJianjian Huo proposed openstack/swift master: sharding: avoid transient overlaps while auditing.  https://review.opendev.org/c/openstack/swift/+/86408800:07
opendevreviewJianjian Huo proposed openstack/swift master: sharding: avoid transient overlaps while auditing.  https://review.opendev.org/c/openstack/swift/+/86408800:29
opendevreviewMatthew Oliver proposed openstack/swift master: Prepare tracing by adding a WSGI mixin for middlewares  https://review.opendev.org/c/openstack/swift/+/79781106:24
opendevreviewMatthew Oliver proposed openstack/swift master: trace: Add RequestTraceMiddleware with OpTel  https://review.opendev.org/c/openstack/swift/+/85755906:24
opendevreviewMatthew Oliver proposed openstack/swift master: trace: Add RequestTraceMiddleware with OpTel  https://review.opendev.org/c/openstack/swift/+/85755907:11
opendevreviewAlistair Coles proposed openstack/swift master: sharding: avoid transient overlaps while auditing.  https://review.opendev.org/c/openstack/swift/+/86408814:31
opendevreviewAlistair Coles proposed openstack/swift master: proxy-server: include suppression time in error limit log  https://review.opendev.org/c/openstack/swift/+/86419915:02
opendevreviewAlistair Coles proposed openstack/swift master: sharder: merge shard shard_ranges from root while sharding  https://review.opendev.org/c/openstack/swift/+/85290516:12
opendevreviewAlistair Coles proposed openstack/swift master: WIP: ShardRange: add is_grandchild_of method  https://review.opendev.org/c/openstack/swift/+/86389416:12
opendevreviewAlistair Coles proposed openstack/swift master: sharding: avoid transient overlaps while auditing.  https://review.opendev.org/c/openstack/swift/+/86408816:18
opendevreviewAlistair Coles proposed openstack/swift master: db_auditor: remove logging translation  https://review.opendev.org/c/openstack/swift/+/86477518:33
opendevreviewAlistair Coles proposed openstack/swift master: account_auditor: fix warning string  https://review.opendev.org/c/openstack/swift/+/86477618:33
opendevreviewASHWIN A NAIR proposed openstack/swift master: proxy-server exception logging shows replication_ip/port  https://review.opendev.org/c/openstack/swift/+/86086619:33
opendevreviewASHWIN A NAIR proposed openstack/swift master: proxy-server exception logging shows replication_ip/port  https://review.opendev.org/c/openstack/swift/+/86086619:46
opendevreviewASHWIN A NAIR proposed openstack/swift master: s3api errors for unsupported headers x-delete-at, x-delete-after  https://review.opendev.org/c/openstack/swift/+/86478820:40
timburke#startmeeting swift21:01
opendevmeetMeeting started Wed Nov 16 21:01:33 2022 UTC and is due to finish in 60 minutes.  The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot.21:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.21:01
opendevmeetThe meeting name has been set to 'swift'21:01
timburkewho's here for the swift meeting?21:01
acoles\o21:01
seongsoochoo/21:01
mattolivero/21:01
timburkesorry, haven't updated the agenda, so i'll be kinda making this up as i go ;-)21:02
mattoliverlol21:02
kotao/21:02
timburke#topic failing func tests21:02
timburkeas i mentioned last week, a recent cpython change broke some of our func tests21:03
timburke(specifically, ones that wanted to include a leading '//' in request paths)21:03
timburkethe rest of openstack is looking to move base CI images from focal to jammy -- as things stand, that will mean that at least our dsvm job will fail21:05
timburkei've got a fix, but it's a bit of an ugly hack21:05
timburke#link https://review.opendev.org/c/openstack/swift/+/86344121:05
timburkeother options include either marking the job non-voting21:06
timburkeor pinning it specifically to continue using focal21:06
timburkefrom talking with gmann, sounds like the transition to jammy will be friday21:07
mattoliveroh that's interesting. but annoying that we may need to support that behaviour. And I assume it does it before it hits our domain_remap middleware (ie up in wsgi). 21:08
timburkeyes -- before anything's even started building a WSGI environ, in fact. it's pretty low level21:08
timburke#link https://github.com/python/cpython/issues/9922021:09
timburkefor a little more context21:09
timburkeso, can anyone help review the fix, make sure i'm not doing anything too egregious? and if we can't get it merged by then, are there strong opinions about how to ensure we don't start next week with a broken gate? my gut says to pin to focal for now21:11
mattoliveryup, I'll have a play with it21:11
timburkethanks mattoliver21:12
timburkenext up21:13
timburke#topic large objects and swiftclient21:13
opendevreviewASHWIN A NAIR proposed openstack/swift master: s3api errors for unsupported headers x-delete-at, x-delete-after  https://review.opendev.org/c/openstack/swift/+/86478821:14
timburkei recently encountered some users uploading dlos then getting bit by listings showing them as 0-byte objects. they didn't really care about the dlo/slo distinction, they just wanted some >5GB objects written21:15
timburkeand it occurred to me: we've had SLO for nearly ten years now. and while it isn't strictly required when deploying a swift cluster, my understanding is that it's generally available21:16
timburkeso, should swiftclient switch to writing SLOs by default?21:16
timburke#link https://review.opendev.org/c/openstack/python-swiftclient/+/86444421:17
mattoliver+1, I think in pretty much every case an SLO is better then a DLO. 21:17
timburkethere's still an escape hatch -- it adds a new `--use-dlo` flag. and the existing `--use-slo` option is still parsed, so we won't break existing workflows21:18
seongsoocho+1 to that idea :)21:19
acolesremind me, does swift info advertise if slo is supported?21:19
timburkei considered doing a /info call if neither flag was specified, then using slo if was available -- but that seemed overly complicated and would require an extra network round-trip21:20
acolesjust wondering if the client could check before defulting to dlo21:20
timburkeit could, yes21:20
acolestimburke: yeah, that :)21:20
timburkeif i was focused on nothing but the client, i'd really push for getting some persistent cache into the client -- specifically for /info responses and tokens/storage-urls21:21
acoleswhat happens if client tries slo with a cluster that does not support it?21:22
timburkeexcellent question -- haven't tried it. sounds like a bug i remember seeing, though...21:22
timburkerelated question: should we start making slo a required middleware server-side?21:23
acolesjust wondering if there is a fallback route to retry with dlow21:23
acoleserr, if client defaults to slo then it certainly seems reasonable that clusters would provide it by default21:24
timburkehere's the bug i was thinking about! looks like clayg did some investigation, and putting an SLO to a cluster that doesn't have it enabled just writes the manifest as an object :-(21:26
timburke#link https://bugs.launchpad.net/swift/+bug/168008321:26
timburkeso i suppose maybe i ought to go ahead and do that /info call...21:27
timburkegood news is that modern swiftclients don't send a X-Static-Large-Object header anymore https://review.opendev.org/c/openstack/python-swiftclient/+/455470/21:28
timburkealso makes me think that gatekeeper should probably strip out the header...21:29
timburkeok, i think i got the feedback i needed -- seems like we're generally agreed that the default should change, but it's worth the /info call to ensure that slo is actually available. i'll try to respin soon21:30
mattoliverkk21:30
timburke#topic ring v221:30
timburkethanks for looking at the initial patch again, mattoliver!21:30
mattolivernps21:31
timburkeand clayg's been offering some feedback recently internally21:31
seongsoocho👏21:32
mattoliverif people haven't seen I've put together a doc patch for it21:32
mattoliver#link https://review.opendev.org/c/openstack/swift/+/864494 21:32
acolestimburke: one last thought - the pre-check info could be disabled by an option??21:32
mattoliverwould --use-slo or --use-dlo not use the pre-check option21:32
mattoliverie, if you say so21:32
timburkeacoles, yes, that was my thinking -- if you explicitly say --use-slo or --use-dlo, skip the /info and assume the user knows what they're doing21:33
acolesyup :thu21:33
timburkebased clayg's feedback, i might try putting out yet another take on how to structure v2 rings -- this time based on zipfile21:33
acolessorry I am struggling with an unfamilar keyboard ... 👍21:34
acolesmattoliver: docs! super!21:34
timburkeand making the "sections" in the current patch into separate files within the zip21:34
mattoliverI guess the question is, can we seek and pull out files nicely or would we have the load the whole thing up21:36
mattoliverthinking when a ring includes the builder data too. 21:36
timburkei think my main concerns would be around on-disk file size and speed of deserialization, but they'll be hard to judge until there's an implementation21:37
timburkeyeah, zip includes a "central directory" at the end, which has the whole file structure and pointers to offsets for each file21:38
mattoliverwell that's the other thing. We've had a few PTGs getting the current design together and a patch that works. 21:38
mattoliveroh cool21:38
timburkeit'll involve some other changes to look for *either* a ring.gz or a ring.zip -- which probably *also* means more changes for our internal ring-management tooling...21:39
mattoliveryup, it would give zeitcev what we are asking21:40
mattoliverie, different names to you can see at an lls level21:40
mattoliver*ls21:40
timburkeidk -- i thought zaitcev wanted a separate name specifically when it's also got builder info in it21:41
zaitcev(hold on, I wasn't looking for a moment, sorry)21:41
timburkeno worries :-)21:41
zaitcevOkay, yes. I did want a separate name for the unified builder-ring thing.21:42
zaitcevI'm looking at the double-slash thing...21:43
zaitcevmeanwhile, I mean21:43
timburkethanks!21:43
timburkei think this would also be fairly amenable to that -- having something like object.builder.zip21:43
timburkecould maybe even have the search order for services be something like object.ring.zip else object.ring.gz else object.builder.zip21:45
timburkethen write_ring could still be useful to have a snapshot while you're manipulating the builder21:46
timburke /shrug21:46
timburkeanyway, i think that's all i've got21:47
timburke#topic open discussion21:47
timburkeanything else we should bring up this week?21:48
mattoliverI've managed to get an in memory tracer working for unit tests.21:48
timburke\o/21:48
mattoliverSo started some basic tracing unit tests21:48
mattolivernot sure about cross service (ie in probe tests) but that's the next bit of testing 21:49
mattoliverthats all I had for now21:53
timburkeall right21:53
timburkethank you all for coming, and thank you for working on swift!21:53
timburke#endmeeting21:54
opendevmeetMeeting ended Wed Nov 16 21:54:00 2022 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)21:54
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2022/swift.2022-11-16-21.01.html21:54
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2022/swift.2022-11-16-21.01.txt21:54
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2022/swift.2022-11-16-21.01.log.html21:54

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