Thursday, 2020-10-29

*** rpittau|afk has quit IRC02:00
*** rpittau|afk has joined #openstack-swift02:01
*** gyee has quit IRC02:02
*** evrardjp has quit IRC05:33
*** evrardjp has joined #openstack-swift05:33
*** dsariel has joined #openstack-swift06:01
*** dsariel has quit IRC06:08
*** m75abrams has joined #openstack-swift07:29
*** rcernin has quit IRC07:31
*** dsariel has joined #openstack-swift08:35
*** rpittau|afk is now known as rpittau08:40
openstackgerritMerged openstack/swift master: Add a slightly more-useful repr for DiskFiles  https://review.opendev.org/75992909:09
*** rcernin has joined #openstack-swift09:18
*** rcernin has quit IRC10:07
openstackgerritOpenStack Proposal Bot proposed openstack/swift master: Imported Translations from Zanata  https://review.opendev.org/76032110:27
*** rcernin has joined #openstack-swift11:15
*** whmcr has joined #openstack-swift12:21
*** ianychoi__ is now known as ianychoi12:34
whmcrchecking the requests that ormandj's referring to, the Host: header on the requests both match12:41
*** cschwede has joined #openstack-swift12:50
*** ChanServ sets mode: +v cschwede12:50
kota_btw, could anyone recommend books that describe the modern file-system architecture and best practice? my colleague asked me about that, but I've not learned systematically so want to look for better books.13:11
*** whmcr has quit IRC13:24
*** rcernin has quit IRC13:43
ormandjkota_: it's a bit old but befs was pretty ahead of its time: https://www.haiku-os.org/legacy-docs/practical-file-system-design.pdf13:48
ormandjit's a good start though, dominic went on to design apfs @ apple13:48
kota_ormandj: oh nice! I'll check it.13:48
ormandjit should give enough basics to know the right questions to ask to find the rest on google13:49
kota_sounds pretty cool.13:50
kota_much appreciated13:52
ormandjnp!13:52
zigoHi there! We're having a weird issue with the swift-proxy falling into timeouts (after 10 minutes), which likely is an issue with threadings in Ussuri. Has anyone experienced that?13:53
*** whmcr has joined #openstack-swift13:53
ormandjzigo: more clarity on the issue? we see timeouts in various places and run ussuri but we've also seen it with all versions :)13:54
ormandjwhat timeouts, specifically?13:54
zigoormandj: It's our frontal haproxy that goes into timeout after no response from the swift-proxy.13:54
ormandjtimburke: we can't figure out why one requet got the token/account/url rewrite and one did not :)13:54
ormandjwe're wondering if it's related to the caching layer13:54
zigoWe've configured it for long timeouts ...13:54
ormandjbut perhaps no errors are thrown13:54
ormandjzigo: we don't generally experience timeouts talking to swift-proxy directly, just timeouts internal to swift-proxy and things it's doing13:55
zigoThis happens after 6 hours of the swift-proxy restart.13:55
zigoormandj: It doesn't look like the proxy is doing anything, it seems waiting for a lock or something.13:55
ormandjyeah, we don't have this issue. what happens if you run strace on a proxy process?13:56
zigoNo timeout logged from other services like container or account.13:56
ormandj(making sure to follow forks/etc)13:56
ormandji assume haproxy is logging which backend it makes the request to/times out13:56
zigoselect(0, NULL, NULL, NULL, {tv_sec=0, tv_usec=8910}) = 0 (Timeout)13:56
zigowait4(0, 0x7ffc3bd3d41c, WNOHANG, NULL) = 013:56
zigoselect(0, NULL, NULL, NULL, {tv_sec=0, tv_usec=9980}) = 0 (Timeout)13:56
zigowait4(0, 0x7ffc3bd3d41c, WNOHANG, NULL) = 013:56
zigoStuff like that with starce ...13:56
zigoOur strace command was strace -f -p 146713:57
zigo(with 1467 being the PID of swift-proxy of course)13:57
zigoWe also saw this when starting the proxy: http://paste.openstack.org/show/799509/13:58
zigoNot sure if it is relevant to our issue...13:58
ormandjdmesg not showing anythingw eird, right?13:58
ormandjand yes that looks very odd in your startup13:58
zigoNothing special in dmesg.13:59
zigoAnd this happens in all of our 6 swift proxies.13:59
ormandjyeah, something does not sound good :)13:59
ormandjperhaps: https://github.com/eventlet/eventlet/issues/59214:01
ormandjwe use 3.614:01
zigoI even tried reverting https://review.opendev.org/#/c/697653/ but it didn't fix anything.14:02
patchbotpatch 697653 - swift - Replace all "with Chunk*Timeout" by a watchdog (MERGED) - 8 patch sets14:02
zigoOh ...14:02
ormandj:)14:03
zigoormandj: We're on Buster, so Python 3.7 ...14:03
ormandjyes, that could be an issue, i haven't run with 3.7. the swift devs might have more info if they've tested that14:03
zigoormandj: Is there a fix for this eventlet bug?14:04
zigoLike: https://github.com/StackStorm/st2/pull/4855 ?14:04
*** mattoliverau has joined #openstack-swift14:05
*** ChanServ sets mode: +v mattoliverau14:05
ormandjzigo: again, i'm not sure this is even your issue, it was just a shot in the dark14:06
zigoBetter than nothing, it's been blured for a few days already.14:07
ormandjhttps://docs.openstack.org/swift/latest/overview_replication.html#object-replication14:37
zigoIs it possible to run Swift with uwsgi ?14:37
zigoI mean, swift-proxy ...14:37
zigoCause I'm tired of eventlet ...14:37
seongsoochotrivial question.. :)  why is the name ssync ???  Alphabetical order?? rsync -> ssync ...14:37
*** evrardjp has quit IRC14:38
*** evrardjp has joined #openstack-swift14:40
*** whmcr has quit IRC14:46
tdasilva_seongsoocho: i think soon you might start hearing about tsync :D14:52
*** tdasilva_ is now known as tdasilva14:52
seongsoochotdasilva:  :-) yeah,  I heard about tsync  this ptg14:53
*** tkajinam has quit IRC15:05
*** takamatsu has quit IRC15:07
*** takamatsu has joined #openstack-swift15:09
*** m75abrams has quit IRC15:19
acolesseongsoocho: I'm not certain but maybe s(wift)-sync or just alphabetical15:33
ormandjsuper-sync16:06
timburkehttps://review.opendev.org/#/c/741016/16:15
patchbotpatch 741016 - swift - sharding: Change default cleave_batch_size to 3 - 1 patch set16:15
claygwe have it now https://docs.openstack.org/swift/latest/deployment_guide.html#object-reconstructor16:52
claygAl is the best: https://review.opendev.org/#/c/485569/16:54
patchbotpatch 485569 - swift - Add reconstructor section to deployment guide (MERGED) - 1 patch set16:54
claygbut no sharder!!!  https://docs.openstack.org/swift/latest/deployment_guide.html#container-server-configuration16:54
*** rpittau is now known as rpittau|afk16:57
acolesclayg: I knew there was something about sharding that had been left undone....been bugging me all this time :D17:07
ormandjthank you again for the invite btw, it was great to meet you all17:08
acolesormandj: good to meet you too, thanks for all your input17:11
*** psachin has joined #openstack-swift17:13
acolesclayg: no nam page for swift-manage-shard-ranges either17:19
acoless/nam/man/17:19
clayg🙄17:20
*** psachin has quit IRC18:36
*** cschwede has quit IRC18:51
*** ccamel has quit IRC19:35
*** gyee has joined #openstack-swift19:57
*** camelCaser has joined #openstack-swift21:13
timburkezigo, https://github.com/eventlet/eventlet/pull/611 should fix the start-up logging, but i don't think that's the cause for the hang21:14
timburkezigo, i've observed something similar, though; wrote up https://bugs.launchpad.net/swift/+bug/189573921:15
openstackLaunchpad bug 1895739 in OpenStack Object Storage (swift) "Proxy server sometimes deadlocks while logging client disconnect" [Undecided,In progress]21:15
zigotimburke: Only with ussuri and on, right?21:15
timburkeit seems to be some combination of python version, eventlet, and possibly swift (which is doing its own monkey-patching in places)21:16
ormandjtimburke: did you see above link re: monkey patching?21:17
timburkeiirc, DHE solved it by explicitly turning off logging.logThreads21:17
zigotimburke: DHE ?21:18
zigoOh ...21:18
zigotimburke: How would I do that?21:18
timburkethe other person i've seen report the same issue21:18
zigotimburke: How do I "explicitly turn off logging.logThreads"21:19
zigo?21:19
timburkeeither hack up stdlib (https://github.com/python/cpython/blob/v3.7.9/Lib/logging/__init__.py#L66) or hack up swift to mokey-patch it (in swift/__init__.py or swift/common/utils.py, maybe?)21:20
timburkei've not abandoned all hope of finding a satisfactory fix (yet), but that's probably the fastest way to get to a more-stable proxy21:21
zigoThanks, I'll try and let you know.21:21
zigoI did try to hack in swift/common/utils.py a little bit ...21:22
zigo     eventlet.patcher.monkey_patch(all=False, socket=True, select=True,21:22
zigo                                   thread=True)21:22
zigo+    import __original_module_threading as orig_threading21:22
zigo+    import threading21:22
zigo+    orig_threading.current_thread.__globals__['_active'] = threading._active21:22
zigoThis is what I did...21:22
zigoJust like in Nova.21:23
zigoBut that's not fixing things.21:23
timburkeif you want confirmation of the issue, you might try running https://github.com/swiftstack/python-stack-xray/blob/master/python-stack-xray against a stuck process and look for a stack with a double-call into eventlet.green.threading.current_thread21:25
zigotimburke: Is there a way to have swift-proxy run over uwsgi?21:25
zigoI'd very much welcome it, the multiple-interpreter thingy helps a log for this kind of pb.21:26
timburkeprobably? i seem to recall some non-eventlet-wsgi-server stuff in https://github.com/openstack/swift/tree/master/examples and https://docs.openstack.org/swift/latest/apache_deployment_guide.html that might be a starting point?21:28
timburke(fwiw, i also wrote up https://github.com/eventlet/eventlet/issues/647 to try to solicit some help/ideas -- haven't gotten around to trying temoto's code to try to repro yet, though)21:31
zigoThanks, I'll try.21:33
mattoliverauWhat no man page for manage-shard-ranges. Now I not only have to trim a bunch but create one :p21:36
DHEzigo: me21:58
zigoDHE: Yeah, got that ! :) Sorry.22:07
zigoDHE: tmd tla ... :P22:07
openstackgerritTim Burke proposed openstack/swift master: Add option to REPLICATE to just invalidate hashes  https://review.opendev.org/75863622:18
DHEand yes I edited logging/__init__.py and I do so with zero shame22:18
DHEthen again this is a python build/install dedicated to swift so I don't mind22:19
openstackgerritTim Burke proposed openstack/swift master: Do not require the close method for response iterator  https://review.opendev.org/75960222:40
openstackgerritTim Burke proposed openstack/swift master: tests: Replace FakeLogger with debug_logger in test_proxy_logging  https://review.opendev.org/76046622:40
zigoDHE: This is *not* a configuration file, from the distro perspective, so that's an annoying thing to do for me. I just did it in a production server though, to see how it goes, I'll be able to tell what the result is tomorrow morning.22:51
zigoIf it fixes *or not*, I'll probably switch the swift packages to uwsgi anyways (if I can...).22:51
*** rcernin has joined #openstack-swift22:58
*** rcernin has quit IRC23:00
*** rcernin has joined #openstack-swift23:00
openstackgerritMerged openstack/swift master: Imported Translations from Zanata  https://review.opendev.org/76032123:25
openstackgerritTim Burke proposed openstack/swift master: s3api: Add stats for error codes returned  https://review.opendev.org/76046923:28
timburkewhen we change the statsd prefix at https://github.com/openstack/swift/blob/2.26.0/swift/proxy/server.py#L537-L538 -- who's responsible for *undoing* that? that logger is shared between requests... how certain are we that it's anywhere near accurate?23:28
timburke'cause if i don't reset the statsd prefix in that patch i just submitted, i *sometimes* get stats like proxy-server.s3api.400.AuthorizationHeaderMalformed and *sometimes* like proxy-server.account.s3api.400.AuthorizationHeaderMalformed ... and that's not great23:29
*** dsariel has quit IRC23:57

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