Thursday, 2018-11-01

*** two_tired has joined #openstack-swift00:21
*** two_tired has quit IRC00:35
openstackgerritTim Burke proposed openstack/swift master: py3: port account/container replicators  https://review.openstack.org/61465600:47
*** tdasilva has quit IRC01:42
seongsoochowow! swift prometheus exporters !! It's amazing.01:57
openstackgerritPete Zaitcev proposed openstack/swift master: py3: adapt the account server completely  https://review.openstack.org/61350502:16
openstackgerritMerged openstack/swift master: Use correct headers in reconstructor requests  https://review.openstack.org/61429802:39
openstackgerritMerged openstack/swift master: added note about double url quoting  https://review.openstack.org/61461202:39
*** psachin has joined #openstack-swift03:10
*** threestrands has joined #openstack-swift03:46
openstackgerritMerged openstack/swift master: Remove empty directories after a revert job  https://review.openstack.org/61132504:34
*** threestrands has quit IRC06:52
*** gkadam has joined #openstack-swift06:58
*** pcaruana|elisa| has joined #openstack-swift07:40
*** pcaruana|elisa| has quit IRC07:59
*** pcaruana has joined #openstack-swift08:05
*** e0ne has joined #openstack-swift09:43
*** e0ne has quit IRC10:32
openstackgerritMerged openstack/swift master: py3: adapt common/db_replicator.py  https://review.openstack.org/61255310:34
*** e0ne has joined #openstack-swift10:36
*** pcaruana has quit IRC11:05
*** gkadam has quit IRC11:46
*** gkadam has joined #openstack-swift11:50
*** pcaruana has joined #openstack-swift11:52
*** gkadam_ has joined #openstack-swift12:04
*** gkadam has quit IRC12:07
openstackgerritChuck Short proposed openstack/swift-bench master: Add python35 support  https://review.openstack.org/61474912:16
openstackgerritChuck Short proposed openstack/swift-bench master: Add python35 support  https://review.openstack.org/61474912:34
*** e0ne has quit IRC12:55
*** gkadam_ has quit IRC12:57
*** e0ne has joined #openstack-swift13:40
*** mark-mcardle has joined #openstack-swift13:55
*** e0ne_ has joined #openstack-swift14:09
*** e0ne has quit IRC14:10
*** gkadam has joined #openstack-swift14:13
*** mvkr has quit IRC14:40
*** gkadam has quit IRC15:09
*** mvkr has joined #openstack-swift15:11
*** kukacz has quit IRC15:12
*** psachin has quit IRC15:13
*** itlinux has quit IRC15:13
*** kukacz has joined #openstack-swift15:19
*** gyee has joined #openstack-swift15:33
*** e0ne_ has quit IRC15:34
*** e0ne has joined #openstack-swift15:34
notmynamegood morning15:59
*** itlinux has joined #openstack-swift16:14
*** e0ne has quit IRC16:26
*** e0ne has joined #openstack-swift17:31
*** e0ne has quit IRC17:47
*** e0ne has joined #openstack-swift17:59
*** e0ne has quit IRC18:02
*** e0ne has joined #openstack-swift18:05
*** e0ne has quit IRC18:07
*** mvkr has quit IRC18:47
*** itlinux has quit IRC19:01
*** pcaruana has quit IRC19:05
*** itlinux has joined #openstack-swift19:39
*** mvkr has joined #openstack-swift19:51
*** e0ne has joined #openstack-swift20:11
*** itlinux has quit IRC20:14
*** itlinux has joined #openstack-swift20:14
*** e0ne has quit IRC20:28
timburkeso... how do we feel about https://github.com/openstack/swift/blob/2.19.0/test/unit/__init__.py#L71-L74 ? 'cause we still rewrite HASH_PATH_PREFIX/HASH_PATH_SUFFIX *all over the place* in tests, and rarely if ever with a mock.patch(...)20:40
timburkei'm kinda tempted to set them both in test/unit/__init__.py, rip out all the other updating, and fix the tests to be OK with the new values20:41
timburke(modulo some tests in test_utils.py that are exercising hash_path)20:41
zaitcevdunno20:43
openstackgerritTim Burke proposed openstack/swift master: py3: port account/container replicators  https://review.openstack.org/61465620:52
openstackgerritTim Burke proposed openstack/swift master: Clean up HASH_PATH_* patching  https://review.openstack.org/61486720:52
timburkeeh, i'll do the lower-risk thing for now, anyway20:52
*** fatema_ has joined #openstack-swift20:54
DHEquestion. I have a 10+3 EC policy and to the best of my knowledge all codes are intact, but I'm having a very high incidence of my proxy server doing reconstruction rather than just pulling the 10 data fragments and reassembling them. it's hurting performance. suggestions to improve it?21:34
*** fatema_ has quit IRC21:35
notmynameDHE: what do you mean by the proxy doing reconstruction. the default behavior is to get the num_data fragments and reconstruct on that (instead of fetching num_data+num_parity)21:41
timburkeDHE: what's your ec_type? i know isa-l offers some optimization on intel hardware, fwiw21:41
timburkenotmyname: if even one data frag is slow to respond, we'll go fetch a parity, reconstruct, and performance will suffer21:42
notmynamesure, but that performance hit is because the frag is slow to respond, not because of EC math (right?)21:42
timburkethat brings me to my next question, DHE: what's your node_timeout?21:43
timburkei'd expect that the node_timeout would dominate the performance hit... if it doesn't, i feel like it's probably set too low21:44
DHEnot set, so default21:54
timburkefor both?21:55
DHEnode_timeout not set, ec type liberasurecode_rs_vand21:55
DHEthe cluster is 2 servers: dedicated PAC and one dedicated ACO with 30 spinning drives for objects.21:55
timburke...is it a prod cluster? if it were me, i'd really want to try to switch that out for isa-l... let me see if i can find some performance numbers to back that up...21:58
DHEno it's a lab. but I am beating on it with real data for the heck of it.21:58
notmynameyeah, isa-l or jerasure are going to be *much* better than using libec's implementation21:59
DHEthe CPU is just slow enough that EC rebuilds hit ~800 megabits on a core, so I can see on the realtime bandwidth and CPU usage display when it's doing direct reassembly and doing EC reconsturction...22:00
DHE(where "slow" is 3.6 GHz)22:00
timburkemaybe try it with a new storage policy first. dunno how long it'd take you to rebuild the env. but definitely try something other than libec for the backend -- we mainly have that as a proof-of-concept, unencumbered implementation; others are *much* better22:01
notmynameDHE: https://01.org/intel®-storage-acceleration-library-open-source-version22:01
notmynamewow. intel's lawyers messed that url up22:02
notmynameok, the real url is linked off of https://software.intel.com/en-us/storage/ISA-L22:02
DHEhahaha22:03
zaitcevThe intel® URL worked for me. The wonders of UTF-8.22:03
notmynameyeah, it "works" but my irc client breaks the link at the ®22:03
DHEit renders in my irc client, the symbol works in firefox, but the copy/paste suffered a fail somewhere along the way22:04
notmynameand it's more satisfying to blame lawyers than my irc client ;-)22:04
notmynameI guess https://github.com/01org/isa-l is the best url, though :-)22:04
zaitcevI dingus-clicked on it in Hexchat.22:04
* DHE the conn_timeout and node_timeout, let's see if this helps in the short term...22:11
DHEeven though it's a lab, I've put data on it I'd rather not lose given the choice22:12
DHE*raised22:13
timburkehmm... also, do you have insight into how much data is misplaced? if a primary was overloaded during the PUT, we could write a data frag to a handoff, basically guaranteeing that we'd use a handoff in the proxy until the object-reconstructor gets it back where it belongs22:15
DHEI don't think anything's ever been moved. I've never changed any hardware or rebuilt the rings since original creation and there's only the 1 object server machine. worst case it's rebooted once or twice.22:16
DHElast reconstruct pass showed 3 known broken objects (maybe reboot related?)22:17
*** threestrands has joined #openstack-swift22:17
timburke:-( i think I must've gotten rid of the graphs i made a while back... at least i was smart enough to put up https://gist.github.com/tipabu/b614587d2e978df8438c0250cf353ebc and https://gist.github.com/tipabu/454d8859d997110ba0acbca36ab6b7ec so i could make them again22:30
timburke...but i think i'm too lazy to do that *right now*22:30
DHE3x8 + 0?22:36
timburkei was experimenting with various alternatives while reviewing the ec duplication patch22:37
timburke3x8+0 was a terrible, terrible plan :-)22:37
DHEI'm trying to think of whether that's a safer bet mathematically than just 3 way replication and realizing I don't want to do the numbers... :)22:38
timburkedefinitely noticeably faster to rebuild though! (that is, *when* it could rebuild...)22:38
timburkei'm thinking probably not... durability should come out about the same? performance seems likely to suffer though, as you need so many backend connections22:40
DHEin this particular scenario I'm concerned about CPU usage since that's where I'm bottlenecked right now....22:40
DHEdefinitely going to use the intel stuff when we go live...22:40
mattoliverauMorning22:45
mattoliverauYeah ec will be more proxy cpu bound. So more proxies would help share that load22:50
mattoliverauIE hitting you lab hard with slot of data and I proxy, that has to do more work22:50
openstackgerritTim Burke proposed openstack/swift master: Make BufferedHTTPResponse.readline block less  https://review.openstack.org/61434823:06
DHEmattoliverau: the catch is there doesn't seem to be a good reason for reads to require so much reconstruction by the proxy, but it is...23:09
timburkemakes me wonder if we're prioritizing the data frags or not... our default sort method is shuffle, yeah?23:11
mattoliveraueven if getting all data fragements in a GET, they still need to go through the ec lib to be "reconstructed", though the reconstruction should be a very simple one.23:11
mattoliverauyeah me might not be. need to look at the code.23:11
timburke*way* easier to invert and multiply the identity matrix ;-)23:12
*** mvkr has quit IRC23:22
*** mvkr has joined #openstack-swift23:23
notmynametimburke: I thought I remembered some testing with EC that showed it didn't matter if you used data or parity fragments (speed wise)23:49
*** gyee has quit IRC23:58

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