Friday, 2019-08-02

*** ormandj has quit IRC00:18
*** diablo_rojo has joined #openstack-swift00:22
*** ianychoi has joined #openstack-swift00:34
*** ormandj has joined #openstack-swift00:41
*** diablo_rojo has quit IRC01:18
*** e0ne has joined #openstack-swift01:48
*** e0ne has quit IRC01:52
*** psachin has joined #openstack-swift03:21
*** gyee has quit IRC03:26
*** psachin has quit IRC03:36
openstackgerritTim Burke proposed openstack/python-swiftclient master: Delete/overwrite symlinks better  https://review.opendev.org/67312303:44
*** gkadam has joined #openstack-swift03:49
openstackgerritTim Burke proposed openstack/swift master: s3api: paginate listings when aborting MPUs  https://review.opendev.org/65218403:55
openstackgerritTim Burke proposed openstack/swift master: slo_manifest_hook follow-up  https://review.opendev.org/62965904:04
openstackgerritTim Burke proposed openstack/python-swiftclient stable/stein: Fix up stable gate  https://review.opendev.org/67418004:14
openstackgerritMerged openstack/swift master: symlink: Allow symlinks to be created via chunk-encoded PUTs  https://review.opendev.org/67312104:17
*** viks___ has joined #openstack-swift04:26
*** tkajinam has quit IRC05:00
*** tkajinam has joined #openstack-swift05:02
openstackgerritMerged openstack/python-swiftclient master: Drag forward prettytable in lower-constraints  https://review.opendev.org/67283005:48
openstackgerritMerged openstack/swift master: Negative test for non-empty chunked put symlink  https://review.opendev.org/67405205:48
*** tkajinam_ has joined #openstack-swift05:53
*** tkajinam has quit IRC05:55
*** e0ne has joined #openstack-swift06:04
*** e0ne has quit IRC06:42
*** e0ne has joined #openstack-swift06:45
*** rcernin has quit IRC06:58
*** redrobot has quit IRC07:17
openstackgerritMerged openstack/python-swiftclient master: Delete/overwrite symlinks better  https://review.opendev.org/67312307:17
*** tesseract has joined #openstack-swift07:17
*** e0ne has quit IRC07:31
openstackgerritMerged openstack/python-swiftclient master: Fix up requests so we can send non-RFC-compliant headers on py3  https://review.opendev.org/67280807:55
*** mikecmpbll has joined #openstack-swift08:01
*** threestrands has quit IRC08:25
*** tkajinam_ has quit IRC09:01
*** e0ne has joined #openstack-swift09:03
*** tdasilva has quit IRC10:33
*** ccamacho has joined #openstack-swift11:18
*** tdasilva has joined #openstack-swift11:19
*** ChanServ sets mode: +v tdasilva11:19
*** takamatsu is now known as mauro|call11:44
*** redrobot has joined #openstack-swift12:07
*** gkadam has quit IRC12:26
*** sasregulus has joined #openstack-swift12:44
openstackgerritMerged openstack/swift master: sharding: better handle get_shard_ranges failures  https://review.opendev.org/65578413:17
openstackgerritMerged openstack/swift master: Ignore 404s from handoffs for objects when calculating quorum  https://review.opendev.org/67218613:17
*** ccamacho has quit IRC13:18
*** BjoernT has joined #openstack-swift13:22
*** BjoernT_ has joined #openstack-swift13:25
*** BjoernT has quit IRC13:27
sasregulusMy understanding is that when an object is deleted from the ring the row for the object is left in the container database forever. If this is true, is there a way to clean out these old rows eventually? I'm asking because we are running out of space on the SSDs where our container databases live.13:43
DHEI don't think that's correct, but the database is based on sqlite which does have its own space compaction rules independent of swift.13:47
sasregulusOkay, I hope that is true. What we see when we look at the sqlite db though looks like a "tombstone" row is put into the database when an object is deleted from the ring but we haven't seen the tombstone row ever be actually deleted from the sqlite db.13:49
tdasilvasasregulus: IIRC tombstone should be cleaned out `reclaim_age`, no?13:52
tdasilvacleaned out *after* `reclaim_age`13:56
tdasilvarledisez: what version of grpcio are you running with losf?14:08
sasregulustdasilva, we thought that after the deleted column was set to 1 the row would eventually be removed but we are not seeing that yet. Our reclaim_age is the default which I think is 18 hours. We'll keep a closer eye on it but we are not seeing those rows remove.14:09
tdasilvasasregulus: default reclaim_age is 7 days14:10
DHEreclaim_age needs to be long enough that any host down for that long would most likely be nuked and rebuilt14:11
sasregulustdasilva: Oh, I did my math wrong, we haven't been watching for 7 days yet. That probably explains it.Thank you!14:11
rlediseztdasilva: grpcio==1.3.314:17
tdasilvasasregulus: yw :)14:21
tdasilvarledisez: ok, thanks14:21
openstackgerritClay Gerrard proposed openstack/swift master: Make GreenAsyncPile not hang  https://review.opendev.org/62336014:22
openstackgerritAlex Schultz proposed openstack/python-swiftclient master: Cleanup session on delete  https://review.opendev.org/67432014:22
*** gkadam has joined #openstack-swift14:32
*** gkadam has quit IRC14:38
*** sasregulus has quit IRC15:15
openstackgerritTim Burke proposed openstack/swift master: Make GreenAsyncPile not hang  https://review.opendev.org/62336015:20
*** tdasilva has quit IRC15:49
*** tdasilva has joined #openstack-swift15:49
*** ChanServ sets mode: +v tdasilva15:49
*** tdasilva has quit IRC15:54
*** mikecmpbll has quit IRC16:04
*** gyee has joined #openstack-swift16:06
*** tdasilva has joined #openstack-swift16:07
*** ChanServ sets mode: +v tdasilva16:07
*** pcaruana has quit IRC16:14
*** altlogbot_3 has quit IRC16:29
*** irclogbot_1 has quit IRC16:33
*** altlogbot_1 has joined #openstack-swift16:37
*** irclogbot_2 has joined #openstack-swift16:42
*** rickflare has joined #openstack-swift16:51
*** tesseract has quit IRC16:58
openstackgerritTim Burke proposed openstack/swift master: Allow "harder" symlinks  https://review.opendev.org/63309416:59
timburkecrap! i forgot to fix the quote thing, too ๐Ÿ˜ž17:14
timburkebut clayg, i think ^^^ is mutually agreeable?17:14
*** openstackgerrit has quit IRC17:22
*** gyee has quit IRC17:24
claygyeah, looks solid17:28
timburkeexcept for that part where it doesn't ;-)17:31
timburkei'll fix that up, try to remember to address the quote thing at the same time17:32
timburkei still kinda wonder if hardlink-to-softlink should *drop* symlink_bytes as an indication that the target's a symlink rather than some generic zero-byte object... *shrug*17:35
*** gyee has joined #openstack-swift17:36
timburkeand i might still prefer to translate 404 -> 409 during PUT -- i *think* that'd be more clear that validation failed instead of container not existing?17:38
claygi think it'sll be very rare for a client to write a hardlink to symlink17:39
timburkeseparate issue. i want to create a hardlink to an object that doesn't actually exist yet -- i get a 404. does that mean the container i'm PUTting to doesn't exist? or my hardlink target?17:40
claygi recognize there's some ambiguity on the 404 between target missing or container missing...17:43
claygbut it's not obvoius to me thats worse than the ambiguity of 409 on target missing and etag mis-match ๐Ÿค”17:44
claygmaybe if you get a 409 the first thing you're going to do is HEAD the object and check the etag - maybe the 404 response clues you in!17:44
timburkei wonder if we oughta use swift_bytes for normal objects, too... that or have s3api swap out symlink_bytes (if present) for bytes (if zero) in listings... it feels weird that via S3, links show zero-bytes in listings for normal objects, but expected bytes for SLOs/MPUs17:45
timburkeoh, and possibly symlink_etag...17:47
claygswift_bytes is a mess - does it get lost on POST?17:47
claygif you update ctype17:47
claygi'm not sure I have an opinion on how symlinks should iteract with s3api ๐Ÿ˜ฌ seems like oil & water17:48
timburkesometimes? ๐Ÿคฎ17:48
timburkesee my comment on patch set 2 of https://review.opendev.org/#/c/334719/17:53
patchbotpatch 334719 - swift - Preserve X-Static-Large-Object from .data file aft... (MERGED) - 2 patch sets17:53
claygi don't like the idea of differentiating a hardlink to symlink from a hardlink to a zero-byte-object by dropping the symlink_bytes key, seems to subtle17:57
timburkefair enough -- it's definitely subtle...17:59
*** diablo_rojo has joined #openstack-swift18:06
*** diablo_rojo has quit IRC18:07
*** diablo_rojo has joined #openstack-swift18:07
claygYeah itโ€™s weird that hard-links to SLO show bytes in the listing as the size of the target SLO. But thatโ€™s SLOs fault.18:10
*** e0ne has quit IRC18:11
timburkeand i feel bad about propagating swift_bytes ๐Ÿ™18:16
timburkeso where are we landing on 404 vs 409? got tests fixed up (i think), working on the quoting issue (i think the resolution is just, don't strip?)18:19
*** diablo_rojo has quit IRC18:25
*** diablo_rojo has joined #openstack-swift18:26
claygyes, just don't strip ๐Ÿคฃ18:28
claygI guess 409 on missing or mismatch is ok by me!  you seem pretty sure it's an improvement to make 404 on PUT always missing container?18:28
timburke*i* think so -- like, that's an established expectation; getting back a 409 when putting a hadrlink, that's all new behavior, we can kinda do what we like there18:31
claygi'll buy that argument!18:33
claygcan we distinguish the case in the body?  ๐Ÿค”18:33
*** guimaluf has joined #openstack-swift18:41
timburkeyeah, easy enough18:45
tdasilvanot to beat a dead horse, but just want to make sure i understand, for slo the target_etag will be the manifest etag, but the tgt_size is the actual slo size?18:58
timburkegood question! no, not quite. have a look around https://review.opendev.org/#/c/633094/19/test/functional/test_symlink.py@1459 -- symlink_etag/bytes will match the manifest, but *specifically for links to SLOs*, the listing bytes will match the large object size (instead of being zero)19:03
patchbotpatch 633094 - swift - Allow "harder" symlinks - 19 patch sets19:03
timburkeat least, as of the most recent patch set19:04
*** openstackgerrit has joined #openstack-swift19:05
openstackgerritTim Burke proposed openstack/swift master: Allow "harder" symlinks  https://review.opendev.org/63309419:05
timburkeso i went ahead and stripped the etag that we use all over, in part because we already wrote a test about it (kinda; confirming 409 behavior, but nothing getting to a 201)19:06
tdasilvatimburke: thanks!19:07
claygugh, yeah the SLO bytes overwrite thing is really weird...19:07
claygit'd be too weird for symlink_etag to be the manifest and symlink_bytes to be the swift_bytes/slo_size - RIGHT!?19:08
clayglike looking one patch down the line to versioned_writes we want the listing of a versioned container's hardlinks to have the "bytes" keys reflect the target objects (which will in somecases be SLOs)19:09
claygwhat's weird tho is we end up forwarding swift_bytes (like hardlink now does automatically) and then *not* replacing the bytes key with symlink_bytes when we're handling a versioned writes hardlink to a SLO ๐Ÿ˜ž19:10
claygif we *always* put the target "bytes" in symlink_bytes we could remove the special case in versioned writes maybe?19:10
*** e0ne has joined #openstack-swift19:13
timburkei agree -- it's weird. makes me wish we'd always had a slo_bytes plumbed through the listing etag :-(19:16
claygright!19:16
timburkehaving the *container-server* doing the listing manipulation is just too strange19:16
claygtoo strange19:16
clayg๐Ÿ˜ฅ19:16
timburkei've thought a bit before about using sam's audit watchers to try to do data migrations... nothing ever quite seems to rise to the level of warranting that lift, but this swift_bytes business almost feels tempting...19:20
timburkeburrito time19:23
*** tdasilva has quit IRC19:23
*** irclogbot_2 has quit IRC19:39
*** irclogbot_1 has joined #openstack-swift19:44
*** e0ne has quit IRC20:11
*** diablo_rojo has quit IRC20:12
*** baojg has quit IRC20:31
timburkerledisez, fyi, corvus is having a bit of trouble with configuring CORS on OVH over in -infra...20:40
timburkei figure you might know a thing or two about that ;-)20:40
corvusrledisez: o/20:41
corvusrledisez: i'm having trouble with cors in ovh; i've set "X-Container-Meta-Access-Control-Allow-Origin: *" on the container and verified that is returned on a HEAD.  because this script also is designed to work with rax, i'm also sending "Access-Control-Allow-Origin: *" when uploading each object.  but the objects don't have the allow-origin header when i fetch them.  do you happen to know of any20:41
corvusreason that might be?20:41
corvus(i've also repeated the experiment without setting any access control headers on the object uploads)20:42
rledisezhi corvus20:43
rledisezit should work as expected. maybe we can continue this discussion in private20:44
corvusrledisez: sure thing20:44
openstackgerritTim Burke proposed openstack/swift master: Allow "harder" symlinks  https://review.opendev.org/63309420:46
*** BjoernT_ has quit IRC21:09
openstackgerritMerged openstack/swift master: Make GreenAsyncPile not hang  https://review.opendev.org/62336021:16
claygtimburke: yeah using swift_bytes would be more consistent with SLO - but there's two problems with that21:20
clayg1) it uses content-type instead of etag, which is just *wrong* like not... in some kind of "purity" argument (although bytes *do* "go with" the etag) - by eventual consistency with ctype updates I think makes it proably incorrect21:21
clayg2) we don't like swift_bytes - it's loosing information *in the container-server* - why purpetuate a lossy pattern that's already causing problems21:22
claygand yes, I was saying symlink-bytes should "go with" symlink-etag; so either I was wrong, or I was right and my experiment to change hardlinks-to-slo to use symlink_bytes for the slo-size will prove to be a bad idea21:23
claygalternatively all software is terrible and everything is shit and no matter what we do it will be bad21:24
timburkei'm not sure we're losing information here though -- the presence of symlink_etag tells us that the underlying plain-old-swift object is zero bytes -- so we can use the field for something halfway useful21:24
timburkethat last one sounds right :-)21:24
timburkeit *would* mean that you need to have a whole lot more context loaded up to understand that you haven't lost information, though...21:25
claygthat sounds like an argument to use symlink_bytes for the slo-size21:25
claygswift_bytes is lossy in that you can never see the size of the manifest in the container listing21:25
claygbut maybe that's unfairly conflating multiple problems with how SLOs handled forwarding slo-size to the container listing21:25
timburkeand that's already true. as the patch stands now, we're in this odd situation of the hardlink knowing more in its listing than the slo, but that's not hardlink's fault21:26
claygyeah, if we had some clear path to a very explicit non-lossy pattern for propogating information to listings I'd be easier to get behind something that seems messy in the intereum21:27
claygtimburke: I agree the current situation is strange, I think that's part of the reason I'm exploring alternatives21:28
timburke๐Ÿ‘21:28
claygsince swift_bytes is new it doesn't seem so outrageous that it might mean "content-length of the symlink_path when you do a HEAD"21:28
clayggah s/swift_bytes/symlink_bytes/ ๐Ÿคฆ21:28
timburkeat some point, we'll either find something we like, or at least find something we can live with :P21:29
claygbacktracking on my previous justification: "if symlink_etag is the etag you get with ?manifest=get then symlink_bytes should be the content-length you get with ?manifest=get" ๐Ÿคทโ€โ™‚๏ธ21:29
claygit also means symlink_etag is consistent between *LO but symlink_bytes ... not so much for DLO ๐Ÿ˜ž21:30
claygtimburke: is suicide an option?21:31
timburkebut then, dlo's already got bad/weird listings. can't really avoid *that*21:32
timburke(though having it expose manifest_prefix or something in the listing would've been a step in the right direction...)21:34
claygeventaully we'll have a sys-meta like framework to forward arbitrary extra k/v pairs to listings21:36
*** jistr has quit IRC22:02
*** jistr has joined #openstack-swift22:09
*** jistr has quit IRC22:17
*** jistr has joined #openstack-swift22:19
openstackgerritClay Gerrard proposed openstack/swift master: Allow "harder" symlinks  https://review.opendev.org/63309422:31
openstackgerritClay Gerrard proposed openstack/swift master: symlink-backed versioned_writes  https://review.opendev.org/63385722:31
claygi'll see what zuul thinks of that over the weekend22:32
claygand how it looks in the morning22:32
claygg'night22:32

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!