Thursday, 2020-01-16

*** donnyd has quit IRC00:18
*** tdasilva has quit IRC00:18
*** tdasilva has joined #openstack-swift00:19
*** ChanServ sets mode: +v tdasilva00:19
*** donnyd has joined #openstack-swift00:20
*** rpittau|afk has joined #openstack-swift00:35
*** rpittau|afk has quit IRC00:42
*** tdasilva has quit IRC00:42
*** clayg has quit IRC00:42
*** donnyd has quit IRC00:43
*** gmann has quit IRC00:43
*** seongsoocho has quit IRC00:44
*** tdasilva has joined #openstack-swift00:44
*** ChanServ sets mode: +v tdasilva00:44
*** beisner has quit IRC00:45
*** abelur has quit IRC00:46
*** coreycb has quit IRC00:46
*** jrosser has quit IRC00:48
*** nottrobin has quit IRC00:48
*** openstackgerrit has joined #openstack-swift00:53
openstackgerritTim Burke proposed openstack/swift master: py3: Fix formpost unicode filename issues  https://review.opendev.org/70149700:53
*** nottrobin has joined #openstack-swift00:54
openstackgerritMerged openstack/python-swiftclient master: Add test for bulk-delete-attempt-counter fix  https://review.opendev.org/69463500:58
*** nottrobin has quit IRC00:58
timburkehmm... https://linux.conf.au/schedule/presentation/137/00:59
timburkesadly, i'm not sure 22 is really that high for us :-/01:00
openstackgerritTim Burke proposed openstack/swift master: Middleware that allows a user to have quoted Etags  https://review.opendev.org/70005601:19
*** gyee has quit IRC01:30
timburke:-( i don't like the logic here, seems dangerous: https://github.com/openstack/swift/blob/2.23.0/swift/container/sync.py#L406-L41202:25
timburkewhat if the replicator rsyncs the db while container-sync has run sync_point2 ahead?02:25
timburkealso, i feel like https://docs.openstack.org/swift/latest/overview_container_sync.html should maybe have something about one-way sync02:27
openstackgerritTim Burke proposed openstack/swift master: Clean up container-sync docs  https://review.opendev.org/70278202:32
openstackgerritTim Burke proposed openstack/swift master: container-sync: Stop continuing to update sync point 2 after failures  https://review.opendev.org/70278302:42
*** renich has quit IRC03:06
*** psachin has joined #openstack-swift03:36
*** openstackgerrit has quit IRC04:12
*** openstackgerrit has joined #openstack-swift04:16
openstackgerritMerged openstack/swift master: Clean up container-sync docs  https://review.opendev.org/70278204:16
*** tkajinam has quit IRC04:39
*** tkajinam has joined #openstack-swift04:41
*** tkajinam_ has joined #openstack-swift05:03
*** tkajinam has quit IRC05:07
*** evrardjp has quit IRC05:34
*** evrardjp has joined #openstack-swift05:34
openstackgerritThiago da Silva proposed openstack/swift master: Skip container-sync when versioning enabled  https://review.opendev.org/69813906:23
*** tdasilva has quit IRC06:23
*** gmann has joined #openstack-swift06:49
*** abelur has joined #openstack-swift06:49
*** clayg has joined #openstack-swift06:50
*** ChanServ sets mode: +v clayg06:50
*** donnyd has joined #openstack-swift06:52
*** beisner has joined #openstack-swift06:52
*** seongsoocho has joined #openstack-swift06:58
*** pcaruana has joined #openstack-swift07:00
*** nottrobin has joined #openstack-swift07:00
*** coreycb has joined #openstack-swift07:03
*** jrosser has joined #openstack-swift07:03
seongsoochoHi, Is X-Delete-At support millisecond unixtimestamp ??  My customer upload object with  X-Delete-At: 1579753284000  (it is saved.. ) and got 503 error during download object.07:17
seongsoochoThe error is below07:17
seongsoocho  File "/usr/lib/python2.7/site-packages/swift/obj/diskfile.py", line 2594, in _verify_data_file07:17
seongsoocho    if x_delete_at <= current_time and not self._open_expired:07:17
seongsoocho  File "/usr/lib64/python2.7/functools.py", line 58, in <lambda>07:17
seongsoocho    ('__ge__', lambda self, other: not self < other)],07:17
seongsoocho  File "/usr/lib/python2.7/site-packages/swift/common/utils.py", line 1371, in __lt__07:17
seongsoocho    other = Timestamp(other)07:17
seongsoocho  File "/usr/lib/python2.7/site-packages/swift/common/utils.py", line 1283, in __init__07:17
seongsoocho    raise ValueError('timestamp too large')07:17
seongsoochoI think normalize_delete_at_timestamp does not affect when uploading object.07:18
seongsoochoIn ocata version, download also work. but in train version, download fail..07:18
*** rpittau|afk has joined #openstack-swift07:19
*** rcernin has quit IRC07:25
*** tdasilva has joined #openstack-swift07:47
*** ChanServ sets mode: +v tdasilva07:47
*** tesseract has joined #openstack-swift08:10
*** rdejoux has joined #openstack-swift08:15
*** rpittau|afk is now known as rpittau08:31
*** ccamacho has joined #openstack-swift09:29
kota_let me check09:53
seongsoochokota_:  thanks~!09:53
kota_https://github.com/openstack/swift/commit/e6194113a3c81563590eabf8f761ccb988bb917c09:57
kota_it looks like since 2.6.0 we have the cap.09:59
kota_so it means Ocata should affect the same issue...10:00
kota_exactly it should be checked at uploading tho10:00
kota_ah... I should go lookup diskfile impl too. it might be changed the timestamp handling...10:02
kota_seongsoocho: that's what https://github.com/openstack/swift/commit/7a7677868d4ec7693132014779909ac70d4f391d probably what you're looking for.10:08
kota_since Rocky, the object expire timestamp uses swift.common.utils.Timestamp, that was capped the max value with https://github.com/openstack/swift/commit/e6194113a3c81563590eabf8f761ccb988bb917c10:09
seongsoochokota_:  yes. That's it.   And I think proxy-server should use normalized delete at timestamp when pass a request to object-server.10:10
seongsoochohttps://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L52610:10
kota_and it looks the patch (https://github.com/openstack/swift/commit/7a7677868d4ec7693132014779909ac70) seems to touch only object server so it didn't touch the x-delete-at value assertions10:11
kota_yup10:11
seongsoochoSo, I have no idea how to recover a object which is stored with large integer of x-delete-at.10:12
kota_https://github.com/openstack/swift/blob/master/swift/common/utils.py#L1496-L1516 :/10:13
kota_i think we should think a couple of things10:14
kota_1. how to fix the code, probably the float cast should be changed to Timestamp object10:14
kota_2. how to recover the existing objects10:14
*** rpittau is now known as rpittau|bbl10:21
seongsoocho:-(  I will regist this on launchpad bugs.10:21
kota_ok. I'm still curious, the commit says "use Timestamp" but I didn't find the logic yet.10:29
kota_ah... it says just "use x-timestamp" not Timestamp object10:34
kota_got it10:36
kota_https://github.com/openstack/swift/commit/7a7677868d4ec7693132014779909ac70d4f391d#diff-5d16e75b6728dcfa2f94aae89b3ffd08R959-R97110:37
kota_valid_timestamp refers the Timestamp object from request object so the current_time should be Timestamp object then the `=<` triggers to translate larger x-delete-at integer to Timestamp10:39
kota_and bom...10:39
kota_seongsoocho: https://gist.github.com/bloodeagle40234/7dd81e1cc663a79014c539c8f3203a91 perhaps, this is one solution (sorry, not tested) like this. specialize the expire_date. honesty I don't like the specialization but save existing objects should be a most priority thing, my policy.10:46
seongsoochokota_:  oh !! thanks . I will test your patch in my dev env.10:47
seongsoocho It's been a long day ... (Because of this issue. ๐Ÿ˜ข )10:52
kota_yeah, and we woke up early for the meeting ;)10:56
kota_please save yourself seongsoocho. I'm heading for home.10:57
seongsoochokota_:  Thanks. Take your time.10:58
*** rpittau|bbl is now known as rpittau12:25
*** manuvakery has joined #openstack-swift12:57
manuvakery>13:18
*** ianychoi_ has quit IRC13:44
*** diablo_rojo has joined #openstack-swift14:04
*** diablo_rojo has quit IRC14:15
*** diablo_rojo has joined #openstack-swift14:16
*** ianychoi has joined #openstack-swift14:25
*** psachin has quit IRC14:26
*** pcaruana has quit IRC14:33
*** mvkr has quit IRC15:33
*** gyee has joined #openstack-swift15:34
*** mvkr has joined #openstack-swift15:48
openstackgerritDavid Sariel proposed openstack/swift master: Let developers/operators add watchers to object audit  https://review.opendev.org/21282416:02
openstackgerritDavid Sariel proposed openstack/swift master: WIP: Add a reference implementation of audit watchers  https://review.opendev.org/70113916:02
*** ianychoi_ has joined #openstack-swift16:05
*** ianychoi has quit IRC16:08
*** mvkr has quit IRC16:20
*** rpittau is now known as rpittau|afk16:27
*** mvkr has joined #openstack-swift16:32
*** tesseract has quit IRC16:39
*** psachin has joined #openstack-swift16:54
*** rdejoux has quit IRC16:56
*** evrardjp has quit IRC17:34
*** evrardjp has joined #openstack-swift17:34
timburkesorry seongsoocho, i feel like i keep breaking things for you ๐Ÿ˜ข17:46
openstackgerritTim Burke proposed openstack/swift master: Allow Timestamp comparisons against out-of-range values  https://review.opendev.org/70295018:18
timburkeseongsoocho, i *think* ^^^ should mostly get things readable? i've got another issue i need to dig into, but i'll see if i can repro your case before you wake up ;-)18:20
rlediseztimburke: I was sure I did a bugreport (but apparently not), but the same issue arise in SSYNC replication. Example here:18:31
rledisezhttps://bugs.launchpad.net/swift/+bug/1821204 (look the stack, the bugreport is about something else)18:31
openstackLaunchpad bug 1821204 in OpenStack Object Storage (swift) "SSYNC subrequests does not log the body of the error" [Undecided,New]18:31
*** psachin has quit IRC18:46
*** jvisser has joined #openstack-swift18:50
*** openstackgerrit has quit IRC18:58
*** ccamacho has quit IRC19:18
timburkerledisez, good news is, i'm pretty sure my patch will address that particular problem, too :)20:16
timburkeseongsoocho, repro'ed your issue and confirmed that the Timestamp patch seems to address it!20:25
*** rdejoux has joined #openstack-swift20:33
*** rdejoux has quit IRC20:37
*** rdejoux has joined #openstack-swift20:39
*** jvisser has quit IRC20:54
timburkelol! we have no upper-bound on x-delete-at timestamp21:24
timburkewhen i was testing, i commented out the bound check in Timestamp, but didn't actually need to21:24
*** jvisser has joined #openstack-swift21:31
*** jvisser has quit IRC21:33
*** jvisser has joined #openstack-swift21:33
*** jvisser has quit IRC21:34
*** jvisser has joined #openstack-swift21:34
*** rdejoux has quit IRC21:42
*** rcernin has joined #openstack-swift22:07
*** jvisser has quit IRC22:21
timburketdasilva, i think i'm gonna squash in https://review.opendev.org/#/c/701643/ (once i fix up the unit test failure)22:31
patchbotpatch 701643 - swift - squash: flesh out object-versioning probe test a bit - 2 patch sets22:31
timburkeany objections?22:31
*** rdejoux has joined #openstack-swift22:40
tdasilvatimburke: nope :)22:41
*** rdejoux has quit IRC22:47
timburkehmm... we don't carry container read ACLs over between primary and archive containers, do we...22:50
tdasilvatimburke: iยดm torn on https://review.opendev.org/#/c/698139/10/swift/container/sync.py@607 I'm not sure I like the idea of symlink_override as it would seem to break the api contract.23:14
patchbotpatch 698139 - swift - Skip container-sync when versioning enabled - 11 patch sets23:14
tdasilvayour concern about changing our minds at a later point is that it would require a new PUT/POST to sync it, right?23:14
timburkeyup23:16
timburkeidk that it breaks the cotnract any more than container-sync breaks contracts for slo though23:16
timburketdasilva, i'm scratching my head a little over https://review.opendev.org/#/c/698139/11/test/probe/test_container_sync.py@698 -- we wrote twice, but only to one name, right? why'd we end up with more than one version getting synced? i feel like i must be missing something...23:19
patchbotpatch 698139 - swift - Skip container-sync when versioning enabled - 11 patch sets23:19
tdasilvatimburke: it's because we allow enabling versioning on destination containers23:22
tdasilvasee line 71423:22
timburkebut where'd the extra row come from for the source db?23:23
tdasilvanot sure I follow you, but in _test_sync the sequence goes: write v1 > sync > write v2 > sync > confirm destination has 2 versions23:25
timburke๐Ÿ‘ turns out i can't read. missed the cycle in between PUTs23:28
tdasilvatimburke: Users should not that not every overwrite might be versioned on the destionation container, it would depend if sync had a chance to make a pass23:28
timburkeyup23:28
tdasilvas/Users shoud not/Users should note23:28
tdasilvatimburke: we could write a v3 to call that out: v1 > sync > v2 v3 > sync > confirm destination has 2 versions23:29
timburkei think i maybe like http://paste.openstack.org/show/788509/ -- the override plumbing was pretty tame...23:44

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