Monday, 2016-01-04

mattoliveraukota_: moring and happy new year!00:01
kota_mattoliverau: how was going for your vacation?00:03
mattoliveraukota_: it was great, am well rested, might take me a while to get my brain back into gear though :P00:04
kota_mattolivearu: me too :)00:05
*** takashi has joined #openstack-swift00:58
*** wanghua has joined #openstack-swift01:14
*** chlong has joined #openstack-swift01:25
*** haomaiwang has joined #openstack-swift02:12
*** rminmin has joined #openstack-swift02:19
*** haomaiw__ has joined #openstack-swift02:34
*** haomaiwang has quit IRC02:34
*** haomaiw__ has quit IRC03:01
*** 6A4ABI07L has joined #openstack-swift03:01
*** rminmin has quit IRC03:03
*** daniel_ has joined #openstack-swift03:16
*** lcurtis has joined #openstack-swift03:35
*** Jeffrey4l_ has joined #openstack-swift03:41
*** links has joined #openstack-swift03:54
*** 6A4ABI07L has quit IRC04:01
*** haomaiwang has joined #openstack-swift04:01
notmynamehello, world04:11
*** daniel_ has quit IRC04:12
notmynamefigured I'd get a head start by checking email/IRC tonight instead of spending half the day tomorrow doing it04:14
*** yatin has joined #openstack-swift04:28
mattoliveraunotmyname: good afternoon! And Happy new year!04:35
notmynamemattoliverau: thanks! and to you too!04:35
notmynamemattoliverau: how were your holidays?04:35
mahatichello, good morning04:38
notmynamehi mahatic04:39
mahaticnotmyname: hello! New year wishes!04:40
notmynamethanks04:40
mahaticnotmyname: how were holidays?04:44
notmynamegreat. very relaxing for the most part.04:45
mahaticnice04:45
notmynametook me several days to actually get disconnected and not sit around with IRC and emails open ;-)04:45
notmynamebut after that, it was very nice ;-)04:45
mahaticIt ws virtual holidays for me too ;)04:45
mahaticheh I am sure :D04:45
kota_notmyname, mahatic: happy new year o/04:46
mahaticwas*04:46
mahatickota_: thanks, happy new year too!04:46
*** yatin_ has joined #openstack-swift04:49
mattoliveraunotmyname: aweseome, saw my parents up the coast for the week. Relaxing. yours?04:51
mattoliveraumahatic: morning, and happy new year :)04:52
notmynamemattoliverau: great. did your wife get a lot of belly pats from the family?04:52
*** SkyRocknRoll has joined #openstack-swift04:52
*** yatin has quit IRC04:52
mahaticmattoliverau: hello, thanks, you too! :)04:52
mattoliverauYeah :)04:52
*** yatin_ has quit IRC04:54
*** yatin has joined #openstack-swift04:55
*** SkyRocknRoll has quit IRC04:58
*** ppai has joined #openstack-swift04:58
*** haomaiwang has quit IRC05:01
*** klrmn has quit IRC05:01
*** haomaiwa_ has joined #openstack-swift05:01
*** SkyRocknRoll has joined #openstack-swift05:10
*** Jeffrey4l_ has quit IRC05:37
*** Jeffrey4l_ has joined #openstack-swift05:50
*** trifon has joined #openstack-swift05:51
*** lcurtis has quit IRC05:54
*** haomaiwa_ has quit IRC06:01
*** haomaiwa_ has joined #openstack-swift06:01
*** ChubYann has quit IRC06:13
*** yarkot has joined #openstack-swift06:19
*** wer has joined #openstack-swift06:54
*** chlong has quit IRC06:55
*** haomaiwa_ has quit IRC07:01
*** haomaiwang has joined #openstack-swift07:01
*** yatin has quit IRC07:06
*** yatin has joined #openstack-swift07:08
*** Jeffrey4l_ has quit IRC07:11
*** yarkot has quit IRC07:15
*** venkat has joined #openstack-swift07:19
*** Jeffrey4l_ has joined #openstack-swift07:29
*** yatin has quit IRC07:31
*** Jeffrey4l_ has quit IRC07:59
*** haomaiwang has quit IRC08:01
*** haomaiwa_ has joined #openstack-swift08:01
*** arnox has joined #openstack-swift08:09
*** rledisez has joined #openstack-swift08:09
*** Jeffrey4l_ has joined #openstack-swift08:12
*** arnox has quit IRC08:14
*** arnox has joined #openstack-swift08:15
*** jordanP has joined #openstack-swift08:20
kota_anyone?08:20
mahatickota_: what's up?08:21
kota_mahatic: o/ i have a question for Swift :)08:21
*** eranrom has joined #openstack-swift08:22
kota_mahatic: i am reviewing a swift3 patch from timburke08:22
mahaticah I see08:22
kota_mahatic: that patch is doing to make a copy request with *Range* header.08:22
kota_mahatic: but *right now* i am not sure that would be supported officially08:22
kota_like08:23
mahatickota_: COPY with Range header?08:23
kota_mahatic: yes08:23
kota_curl -H 'X-Auth-Token: xxx' http://host/v1/a/c/o2 -H 'X-Copy-From: /c/o' -H 'Range: bytes=1-' -XPUT08:24
kota_that worked in my local lab environment.08:24
kota_but i didn't find the docs08:24
kota_and currently not sure can we use "Range" header for *PUT* request08:25
kota_i am worried that it *might* broke HTTP specification...08:25
mahatickota_: I think PUT range is not yet there, but range header in COPY, not sure - looking08:25
kota_not sure.08:25
kota_s/might broke/might break/08:26
kota_mahatic: yeah, i think so. i am wondering with your boat.08:26
*** yatin has joined #openstack-swift08:27
mahatickota_: PUT with range header does seem to break http spec. hence no Range header on COPY. But fast-post may solve it?08:30
*** Jeffrey4l__ has joined #openstack-swift08:32
mahaticoh it doesn't I suppose, it's probably not related08:33
kota_mahatic: i don't think fast-post forcuses on that problem08:33
mahatickota_: yeah08:33
*** Jeffrey4l_ has quit IRC08:33
kota_yup, and i also found some docs about the range08:33
kota_on *RFC*08:34
kota_https://tools.ietf.org/html/rfc723308:34
kota_section 3.108:34
kota_The "Range" header field on a GET request modifies the method....08:34
mahatickota_: I am looking at it too, I thought you were asking on swift docs, my bad08:34
kota_no worries08:35
kota_Is the conclusion that "it seems to break the rfc"?08:36
mahatickota_: yup, looks like it "A server MUST ignore a Range header field received with a request method other than GET."08:37
kota_mahatic: ok, thanks.08:37
kota_mahatic: i will raise up this issue to next irc meeting08:37
mahatickota_: sure, I still am not aware of the swift3 patch though :)08:38
kota_and if no one has concens to fix (disallow some requests like PUT with range), i will push a patch.08:39
mahaticgreat08:41
mahaticsounds good08:41
*** peterlisak has joined #openstack-swift08:48
mattoliveraukota_: ranged copy is new, so wont be in any stables swifts yet.. that might make it hard for swift308:55
kota_mattolivearu: newly supported?08:56
kota_perhaps, should we use "If-Range" instead of pure "Range"?08:59
kota_reading...08:59
kota_reading RFC...09:00
*** links has quit IRC09:00
*** haomaiwa_ has quit IRC09:01
*** haomaiwang has joined #openstack-swift09:01
mahaticranged copy is supported?09:01
kota_mahatic: i don't think but...mattoliverau may know something...09:03
mahaticif-range is probably not the one -  it sends over the missing parts if the obj is unchanged or will send the entire of it09:03
*** venkat has quit IRC09:03
kota_mahaic: exactly09:03
*** links has joined #openstack-swift09:04
kota_my bad09:05
*** km_ has quit IRC09:05
mattoliveraukota_: sorry that was more of a question. How is swift3 as a middleware released. If the underlying swift install doesn't support a feature then you can' just use that feature or do swift3 releases match swift releases.09:06
mattoliverauI've seen something about ranged copies, it's either a landed patch or one in review.. (or I dreamt it while on holiday) :P09:06
kota_mattoliverau: swift3 didn't do that yet.09:06
kota_mattoliverau: https://review.openstack.org/#/c/255069/8/swift3/controllers/multi_upload.py09:07
mattoliverauby ranged copies I mean ranged GET resulting in a new object09:07
*** ppai has quit IRC09:07
kota_timburke proposed that patch and I found *current Swift* allows such a request.09:08
mattoliverauk, so it's landed then, but it might only be in master. so probably wont work in liberty or kilo09:08
kota_mattoliveau: really? swift3 gate are testing on kilo stable but jenkins shows +1...09:09
mattoliverauwhich is why I was asking how swift3 releases work, ie, if people just download master and use that on a swift stable they might have trouble using that feature.09:09
kota_mattolivearu: can i have the commit to allow the range copy?09:09
mattoliverauoh really, I didn't think it was that long ago09:10
mattoliverausure, let me find it09:10
kota_mattoliverau: yup, waiting :)09:11
*** jistr has joined #openstack-swift09:12
*** joeljwright has joined #openstack-swift09:12
*** ChanServ sets mode: +v joeljwright09:12
mattoliveraukota_: maybe I'm dreaming or confusing some other patch, cause I can't find it, and on the other hand why would'nt a ranged COPY work seeing as thats just a GET then a PUT.09:15
*** venkat has joined #openstack-swift09:15
kota_mattoliverau: i think it might ok that COPY with range because it will request for source object like GET09:18
mattoliveraukota_: yup, I'm thinking so too09:18
kota_mattoliverau: but PUT -H 'X-Copy-From: xxx' is obviously for the destination object09:19
mattoliverauyeah, the PUT path would hopefully ignore that header09:20
kota_not sure but it seems that the range affects to downstream constraint.09:20
kota_but right now the PUT -H 'X-Copy-From' with range works well :/09:21
kota_(i mean the request will make a partial copied object)09:21
kota_that's my question, "Is it expected behavior?"09:22
kota_mattolivearu: i think we are in same boat "the PUT path hopfully ignore (or disallow) range header"09:24
kota_if we want to do that, use COPY or make a new header for swift apis, imo.09:25
mattoliveraukota_: multi-ranged GETs return a multipart mime, so not sure if that would work.. though I've never tested it.09:26
kota_mattoliverau: exactly, i also think i would see somes issue for COPY with multi-range at the time of EC work...09:28
kota_s/somes issue/some issues/09:28
kota_mattolivearu: I will continue to work around there thanks o/09:30
mahatickota_: but that isn't the issue right - PUT is accepting Range and need to know if that should happen or not is what you're looking for?09:30
mattoliveraumahatic: yeah, I that's his question, I'm just thinking out loud :)09:32
mahaticmattoliverau: right, okay :) I'll shut it :P09:34
mattoliverauA PUT puts or overwrites an object (Ie you can't append), so Range means nothing to it, so should be ignored. So I don't see it as a problem if a Range header is added, so long as it is ingored (like it would be like adding any x header that swift doesn't know about). So long as it is ignored in the PUT path.09:36
mattoliveraumahatic: nah speak up, I could very well be wrong ;)09:36
mattoliverautho if there is an RFC somewhere saying you can't then I'll shut up :P09:38
mahaticmahatic: heh. yeah, Range is ignored in a regular PUT anyway09:43
mahaticin Swift09:44
mahaticmattoliverau: *09:47
kota_mattoliverau, mahatic: thanks!09:49
*** goodygum has joined #openstack-swift09:50
*** jmccarthy has joined #openstack-swift09:54
*** Jeffrey4l__ has quit IRC09:58
*** haomaiwang has quit IRC10:01
*** haomaiwang has joined #openstack-swift10:01
ahalea range'd put sounds more like what i'd expect a patch req to do, if they existed in swift10:01
*** openstackgerrit has quit IRC10:02
*** openstackgerrit has joined #openstack-swift10:03
*** Jeffrey4l__ has joined #openstack-swift10:11
*** aix has joined #openstack-swift10:15
*** jistr has quit IRC10:24
*** jistr has joined #openstack-swift10:30
*** jistr has quit IRC10:30
*** haomaiwang has quit IRC11:01
*** 17WABG26P has joined #openstack-swift11:01
*** kei_yama has quit IRC11:07
*** joker_ has joined #openstack-swift11:13
*** daemontool has joined #openstack-swift11:29
*** yatin has quit IRC11:36
*** jistr has joined #openstack-swift11:41
*** Jeffrey4l__ has quit IRC11:43
*** 17WABG26P has quit IRC12:01
*** haomaiwang has joined #openstack-swift12:01
*** chlong has joined #openstack-swift12:02
*** ntt has joined #openstack-swift12:04
nttHi, it is possible to change the replication network in a running swift cluster?12:04
*** joeljwright has quit IRC12:05
openstackgerritMerged openstack/swift: Add round-trip encrypter/decrypter unit tests  https://review.openstack.org/25160612:06
openstackgerritrenminmin proposed openstack/swift: Byte-quotas should allow object re-upload  https://review.openstack.org/26322712:07
*** silor has joined #openstack-swift12:07
*** joeljwright has joined #openstack-swift12:10
*** ChanServ sets mode: +v joeljwright12:10
*** CaioBrentano has joined #openstack-swift12:22
*** silor1 has joined #openstack-swift12:26
*** silor has quit IRC12:28
*** silor1 is now known as silor12:28
*** links has quit IRC12:34
*** SkyRocknRoll has quit IRC12:39
*** SkyRocknRoll has joined #openstack-swift12:42
*** zul has quit IRC12:47
*** zul has joined #openstack-swift12:47
*** jistr has quit IRC12:50
kota_hmm...all conditional headers look to be sent to the source object and ignored on PUT destination.12:54
*** hseipp has joined #openstack-swift12:58
*** venkat has quit IRC12:58
kota_semantically If-Match allowed on PUT in RFC but If-Modified-Since isn't.12:59
kota_Swift looks like not to both, tho.13:00
*** haomaiwang has quit IRC13:01
*** haomaiwang has joined #openstack-swift13:01
*** jistr has joined #openstack-swift13:02
*** dosaboy_ is now known as dosaboy13:05
*** mariusv has joined #openstack-swift13:05
*** mariusv has joined #openstack-swift13:05
*** haomaiwang has quit IRC13:06
*** dustins has joined #openstack-swift13:06
*** 17WABG31A has joined #openstack-swift13:09
*** proteusguy has quit IRC13:16
*** vinsh_ is now known as Vinsh13:19
*** chlong has quit IRC13:20
*** Jeffrey4l__ has joined #openstack-swift13:24
*** 17WABG31A has quit IRC13:28
*** proteusguy has joined #openstack-swift13:29
*** peterlisak has left #openstack-swift13:31
*** chlong has joined #openstack-swift13:32
*** daemontool has quit IRC13:33
*** daemontool has joined #openstack-swift13:33
*** daemontool has quit IRC13:33
*** daemontool has joined #openstack-swift13:34
*** dslevin_ has joined #openstack-swift13:41
openstackgerritJames Nzomo proposed openstack/python-swiftclient: Fix upload to pseudo-dir passed by <container> arg  https://review.openstack.org/26325913:43
*** dslevin_ has quit IRC13:50
*** dslevin_ has joined #openstack-swift13:51
*** dslevin_ has quit IRC13:51
*** dslevin_ has joined #openstack-swift13:52
*** dustins has quit IRC13:54
*** links has joined #openstack-swift13:56
*** haomaiwang has joined #openstack-swift14:06
*** links has quit IRC14:07
*** breitz has joined #openstack-swift14:30
*** jistr has quit IRC14:30
*** jistr has joined #openstack-swift14:31
*** SkyRocknRoll has quit IRC14:33
*** jlvacation is now known as jlvillal14:40
*** tamizh_geek_ is now known as tamizh_geek14:56
*** tamizh_geek has left #openstack-swift14:57
*** tamizh_geek has joined #openstack-swift14:57
*** haomaiwang has quit IRC15:01
*** blmartin has joined #openstack-swift15:01
*** haomaiwa_ has joined #openstack-swift15:01
*** dustins has joined #openstack-swift15:05
*** tsg has joined #openstack-swift15:13
*** SkyRocknRoll has joined #openstack-swift15:14
*** shakamunyi has quit IRC15:15
*** barra204 has quit IRC15:15
pdardeaugood morning! happy new year!15:27
*** petertr7 is now known as petertr7_away15:29
pchnghappy new year :)15:29
*** shakamunyi has joined #openstack-swift15:29
*** mragupat has joined #openstack-swift15:30
*** petertr7_away is now known as petertr715:34
openstackgerritAzhagu Selvan SP proposed openstack/swift: Removed the unnecessary comment about FakeRing._get_parts method reported in bug #1488704  https://review.openstack.org/26330715:36
openstackbug 1488704 in OpenStack Object Storage (swift) "FakeRing does fake get_part anymore" [Low,New] https://launchpad.net/bugs/1488704 - Assigned to Aniruddha Singh Gautam (aniruddha-gautam)15:36
openstackgerritAzhagu Selvan SP proposed openstack/swift: Removed the unnecessary comment about FakeRing._get_parts method reported in bug #1488704  https://review.openstack.org/26330715:43
openstackbug 1488704 in OpenStack Object Storage (swift) "FakeRing does fake get_part anymore" [Low,New] https://launchpad.net/bugs/1488704 - Assigned to Aniruddha Singh Gautam (aniruddha-gautam)15:43
wbhuberhappy new year, swift'ers!15:45
*** mtreinish has quit IRC15:46
*** mtreinish has joined #openstack-swift15:48
*** eranrom has quit IRC15:48
*** minwoob has joined #openstack-swift15:54
*** tsg has quit IRC15:57
*** tsg_ has joined #openstack-swift15:57
*** corvus is now known as jeblair15:58
*** haomaiwa_ has quit IRC16:01
*** haomaiwang has joined #openstack-swift16:01
*** klrmn has joined #openstack-swift16:14
*** aix has quit IRC16:26
*** trifon has quit IRC16:31
tamizh_geekon swift master, I couldn't do a pip install -r requirements.txt16:32
tamizh_geekI get this - ValueError: ("Expected ',' or end-of-list in", "dnspython>=1.12.0;python_version<'3.0'", 'at', ";python_version<'3.0'")16:32
*** diazjf has joined #openstack-swift16:32
acolestamizh_geek: make sure pip, setuptools and pbr are all up to date16:35
*** zaitcev has joined #openstack-swift16:41
*** ChanServ sets mode: +v zaitcev16:41
*** garthb has joined #openstack-swift16:46
*** mragupat has quit IRC16:49
*** mragupat has joined #openstack-swift16:50
*** barra204 has joined #openstack-swift16:51
*** haomaiwang has quit IRC16:51
*** shakamunyi has quit IRC16:51
*** 21WAAO7OX has joined #openstack-swift16:54
notmynamegood morning16:56
*** 21WAAO7OX has quit IRC17:01
*** haomaiwang has joined #openstack-swift17:01
notmyname+1 for email subject line honesty. "Checking in - I'm a recruiter"17:03
*** dustins has quit IRC17:03
*** diazjf has quit IRC17:06
*** klrmn has quit IRC17:07
*** joeljwright has quit IRC17:09
pdardeaunotmyname: i'd like to get your opinion on something re: device count enhancement when you have some time17:11
*** diogogmt has joined #openstack-swift17:11
*** gyee has joined #openstack-swift17:14
notmynamepdardeau: what's up?17:19
pdardeaunotmyname: i heeded your advice and built support for varying size of device id in ring17:20
notmynameoh cool!17:20
pdardeaumy question is related to configuration part17:20
pdardeaui'm wondering whether a setting that automatically shifted17:21
pdardeaubetween 2 and 4 bytes would be useful (or desirable)?17:21
*** CaioBren_ has joined #openstack-swift17:21
notmynamepdardeau: what are you thinking? where or when would you want to change it?17:21
*** CaioBren_ has joined #openstack-swift17:22
pdardeauso, here's the dilemma that i see. if it's explicitly set to 2, then it all has to be recreated when needing to go beyond 65536 devices17:22
pdardeauif it's explicitly set to 4 bytes, then extra memory is used (unnecessarily) when less than 65536 devices are in ring17:23
*** jistr has quit IRC17:23
pdardeauso the big question is: can a ring configured for using 2 bytes per device id ever transition to using more than 65536 devices17:24
*** yarkot has joined #openstack-swift17:24
pdardeauand: can a ring configured for using 4 bytes per device id ever 'shrink' down to 2 bytes if number of devices contracts to below 65536 devices17:24
*** CaioBrentano has quit IRC17:25
pdardeauso i'm considering the possibility of having 3 valid values for configuration: 2,4, or 'auto'17:25
pdardeauwhere 'auto' means to automagically expand/contract as number of devices goes above (or drops below) 6553617:26
pdardeaudoes any of that make sense?17:26
notmynameyeah. I need to get my brain up to speed again :-)17:28
pdardeauanother way of looking at the question: should amount of storage used per device id be explicitly configured or should it automatically adapt as needed?17:28
*** rledisez has quit IRC17:28
notmynamemy gut reaction is that it should be auto. without another config option17:28
*** rledisez has joined #openstack-swift17:28
pdardeauok. i didn't have a good feel for what would be the more sensible option.17:30
*** rledisez has quit IRC17:32
*** jordanP has quit IRC17:39
*** diazjf has joined #openstack-swift17:40
gmmahagood morning!!17:40
*** petertr7 is now known as petertr7_away17:41
pdardeaugmmaha: good morning. and happy new year!17:44
*** lcurtis has joined #openstack-swift17:44
pdardeau:117:45
gmmahahappy new year pdardeau :)17:45
pdardeautabfail17:45
*** hseipp has quit IRC17:47
*** arnox has quit IRC18:00
*** haomaiwang has quit IRC18:01
*** haomaiwang has joined #openstack-swift18:01
*** acoles is now known as acoles_18:02
*** klrmn has joined #openstack-swift18:03
*** mragupat has quit IRC18:05
*** mragupat has joined #openstack-swift18:06
*** mragupat has quit IRC18:08
*** mragupat has joined #openstack-swift18:08
*** badari has joined #openstack-swift18:09
*** yarkot has quit IRC18:25
*** openstackgerrit has quit IRC18:32
*** openstackgerrit has joined #openstack-swift18:32
*** petertr7_away is now known as petertr718:36
*** silor has quit IRC18:39
*** silor has joined #openstack-swift18:40
claygpdardeau: i still don't understand who is asking for a ring with more than 65K devices - it's just nuts18:43
*** ChubYann has joined #openstack-swift18:44
pdardeauclayg: i kinda feel the same way, but i don't have any firsthand knowledge of large swift clusters18:44
pdardeauclayg: iirc, RAX requested it18:45
claygpdardeau: i'm sure cloud files has not strong needs to increase devices in a ring beyond some thousands - 10's of thousands is not realistic in a single storage policy18:46
claygIMHO18:46
*** eranrom has joined #openstack-swift18:46
*** diazjf has quit IRC18:47
clayg... how about optomizing rebalance so it doesn't take many many hours and thousands of megabytes of ram to rebalance a ring with partpower > 24?  a) that would be useful to everyone b) i'd be on of *many* pre-req to having a good time with +10K devices in a ring18:49
*** SkyRocknRoll has quit IRC18:53
notmynameclayg: I agree, but one small point is that the 65k limit is/was hit because of holes in the ring instead of actually having 65k devices. so it's larger clusters + age. (IIRC this was info from ahale)18:54
clayghas anyone made it through the latest jespen/aphyr on rethinkdb?18:55
notmynameI hadn't seen it yet18:55
claygnotmyname: ok, well that's still then - the result of that problem should be we need to figure out why it's not re-using device id's - who wants to carry around all those None's anyway?18:55
ahaleyeah thats a problem, i havent looked on recent code .. but looks like its still gonna happen with https://github.com/openstack/swift/blob/master/swift/common/ring/builder.py#L33918:56
*** diazjf has joined #openstack-swift18:56
claygahale: yeah seems a lot easier to fix that with index(None) if -1 then len() + 118:57
*** doxavore has joined #openstack-swift19:00
*** haomaiwang has quit IRC19:01
*** haomaiwang has joined #openstack-swift19:01
doxavoreRunning swift 2.2.2, after 2 drives failed and were subsequently removed from the ring (and ring has been rebalanced/distributed), a drive on a separate node has filled up and doesn't seem to be draining except for very short periods where I'll see ~200MB free up. (A system rebalance is still in progress.) Is there a safe way to speed up the deletion of unneeded files on that drive to bring the system back to a19:04
doxavore state that isn't extremely slow/timing out?19:04
*** zhill has joined #openstack-swift19:05
*** dslevin has quit IRC19:06
*** sc68cal has quit IRC19:11
*** dslevin has joined #openstack-swift19:12
*** sc68cal has joined #openstack-swift19:14
claygdoxavore: you can simulate this -> https://review.openstack.org/#/c/215867/ - by setting handoffs_first to true and handoff_delete the replica_count - 1 ; then just keep restarting replicators every so often19:14
claygdoxavore: was the cluster already near capacity?  Did you *replace* the failed devices?19:15
claygdoxavore: sometimes its better to just "swap" the failed devices w/o a rebalance vs. rebalancing all their parts off of them, then rebalancing a bunch of new/different parts back on?19:15
claygdoxavore: you should also up your rsync max_connections - more i/o will get tied up in replication so your request latency may take a hit19:16
doxavorei just removed the failed drives from the ring entirely (i don't make it to this facility very often, and we see request latency shoot up when we run with some failed drives left in the ring.) the cluster is running at about 75% capacity, across ~75 drives19:18
pdardeauclayg, notmyname, ahale: based on current thinking, is there still a need to allow for more than 65K device slots in ring?19:20
*** openstackstatus has quit IRC19:20
*** openstackstatus has joined #openstack-swift19:23
*** ChanServ sets mode: +v openstackstatus19:23
ahalei dunno really - yeah probably - im not convinced that migrating to more storage policies and maintaining that is a great alternative19:23
ahalesomething to defrag the devs would be good though and push that problem further away for us at least. whether thats a new command or something done when deleting idk.19:24
ahaleand i kinda thing builder should do more checking, so it wont assign device id's that it will error trying to rebalance. warn instead or something19:25
torgomaticclayg: filling in dev-id holes is definitely the way to go IMO19:34
*** changbl has quit IRC19:35
*** joeljwright has joined #openstack-swift19:35
*** ChanServ sets mode: +v joeljwright19:35
*** wer has quit IRC19:38
*** wer has joined #openstack-swift19:38
notmynamepdardeau: IMO, it's good to remove any particular device id limit in swift. but it's probably not the first thing to alleviate immediate problems19:44
notmynamebut how complicated is the patch overall?19:44
pdardeaunotmyname: changes to ringbuilder.py, builder.py, and ring.py and 3 unit tests19:47
openstackgerritJames Nzomo proposed openstack/python-swiftclient: Fix upload to pseudo-dir passed by <container> arg  https://review.openstack.org/26325919:54
*** daemontool has quit IRC19:59
notmynamepdardeau: sure, but is it a lot of changes? tricky changes?20:00
*** haomaiwang has quit IRC20:01
hrouclayg, acoles_, torgomatic, all - For symlinks (namely the handling of POSTs) we wanted to rehash a few of the original proposals to fully understand the inconsistency issues involved (even if it just amounts to documenting them I think it'll have some value : - ), would you mind taking a look at the following etherpad and inlining any thoughts / questions / comments you may have !  https://etherpad.openstack.org/p/swift_symlink_post_strategy20:01
*** haomaiwang has joined #openstack-swift20:01
*** blmartin has quit IRC20:01
notmynamepdardeau: to me it's a cost-benefit thing. someday, sure, I'd like to have no dev_id limits. so how does your current patch to do that compare to stuff like filling in dev-id holes (which should also be done)?20:01
*** blmartin has joined #openstack-swift20:03
*** cdelatte has joined #openstack-swift20:05
ZyricGood Morning:)20:15
*** tristanC has joined #openstack-swift20:18
*** robefran has joined #openstack-swift20:19
*** aix has joined #openstack-swift20:22
onovyhi. can someone explain me dependencies between pyeclib, liberasurecode and libjerasure?20:45
notmynameZyric: hello20:45
onovyand swift of course20:45
notmynameonovy: swift requires pyeclib. which uses the c library liberasurecode. liberasurecode has some simple stuff in it, but faster/better algorithms and libraries can be used. it's pluggable.20:46
notmynameone library which works is jerasure20:46
onovyand libjerasure?20:46
notmynameanother is ISA-L20:46
onovyhmm20:46
onovyso swift needs pyeclib only?20:46
onovyand pyeclib needs liberasure, which needs libjerasure?20:47
onovybecause unit tests is failing for me if libjerasure is not installed20:47
notmynameno, libjerasure isn't needed (with current versions of liberasurecode)20:47
onovyso pyeclib needs only liberasure20:48
onovyand libjerasure is optional20:48
notmynameyes20:48
*** eranrom has quit IRC20:48
notmynamethat's the way it's supposed to work20:48
*** joeljwright has quit IRC20:49
onovyis it recommended to have libjerasure?20:50
notmynameno. or not as compared to anything else20:51
notmynamebasically there are 2 free options I know of, and you should use one of them. jerasure and ISA-L20:51
onovyand how liberasure choose which algo is used?20:51
onovyor pyeclib chooses?20:52
onovyor swift? :)20:52
notmynamebased on the config in swift.conf for the storage policy20:52
notmynameeg: ec_type = jerasure_rs_vand20:52
notmynameor ec_type = isa_l_rs_vand20:52
onovyand liberasure without jerasure OR ISA-L will work?20:52
onovywith swift, not theoretically20:52
notmynameyes, but you're more limited to the erasure codes you can use. IIRC you can only do xor codes in liberasurecode. I dont' think you can do reed-solomon codes20:53
onovyhmm20:53
onovyFailure: PolicyError (Error creating EC policy (pyeclib_c_init ERROR: Invalid arguments. Please inspect syslog for liberasurecode error report.), for index 0) ... ERROR20:54
onovyliberasurecode[15792]: liberasurecode_backend_open: dynamic linking error libJerasure.so.2: cannot open shared object file: No such file or directory20:54
onovywhen running unit tests20:54
notmynamecurrent HEAD of master?20:55
onovy2.5.020:56
notmynameah, ok20:56
onovyin unit tests is: ECStoragePolicy(3, 'ec', ec_type='jerasure_rs_vand',20:56
notmynameso yeah, that's expected there20:56
onovyso unit tests NEEDS jerasure20:56
notmynamenot anymore, but it did in 2.5.020:56
*** PsionTheory has joined #openstack-swift20:56
onovyhmmm20:56
onovyok :)20:56
onovyand will 2.5.0 swift work without jerasure?20:57
onovyso it's only unit tests deps?20:57
notmynameyes20:57
onovyok, so it's build deps20:57
*** haomaiwang has quit IRC21:01
onovytesting...21:01
*** haomaiwang has joined #openstack-swift21:01
onovynotmyname: fixed, thanks! http://anonscm.debian.org/cgit/openstack/swift.git/commit/?id=940cd2648c13c4fd2c8bb578752c25e344b7483721:04
*** minwoob has quit IRC21:09
pdardeaunotmyname: i wouldn't say that the patch is complex or tricky, but it does not currently have any changes for reuse of holes or any defrag capabilities21:14
mattoliveraumorning21:16
pdardeaumattoliverau: good morning21:16
*** petertr7 is now known as petertr7_away21:20
*** trifon has joined #openstack-swift21:20
*** silor has quit IRC21:22
claygI think "supporting > 65K devices in a ring" is not a great goal.  We should should aim to support >65K devices in a *replicated storage policy in swift used in production*.  Fixing the ring sometime after we have a replicated storage policy working in production with 10's of thousands of devices should be trivial compared to the other work we did to get there.21:29
claygI didn't know about ahale's reusing device id's thing - but that's just a bug with how we remove devices and burn device id's - garbage collection is a thing - we should just fix that.21:29
notmynameclayg: yeah, I think that's a decent rephrasing21:30
claygnotmyname: well sans all my attitude - I think my heart is in the right place21:31
notmynamelol21:31
ahalebut saying "just add more storage policies" without saying "and then identify your large and growing containers, migrate them, maintain balance so ring0 stays below 64k forever while monitoring usage across all policies and remember to review distribution" is a bit like saying "screw ops". whats so bad about 66k devices vs 63k ?21:32
notmynameahale: oh yeah, I'm totally with you that storage policies aren't the way to grow beyond a drive limit. at least not "policies" as they're implemented today21:33
pdardeaunotmyname: here's a high-level synopsis of current patch21:39
pdardeaucreated a new version of ringdata. new version has device id size (in bytes)21:39
pdardeauthat piece of data added to serialization/deserialization21:39
pdardeauthat piece of data is needed to know how to deserialize the device ids (whether they're 2 bytes or 4 bytes each)21:40
pdardeauwhen new devices are added, builder looks to see if the count will cross the 65k boundary (if currently using 2 bytes)21:41
pdardeauif so, device id's have to be reconstructed using 4 bytes instead of 221:42
pdardeauwas thinking to also modify remove device to see if 65k is crossed going other way and if so, can rewrite using 2 bytes per dev id instead of 421:42
notmynamepdardeau: was the 2 vs 4 byte choice simpler than something like "bits = log2(max_dev_id) + 1" so it uses however many it needs?21:48
*** badari has quit IRC21:48
pdardeaunotmyname: yes, i believe so21:49
notmynamepdardeau: but that's kinda getting into the weeds. the important thing is if this is the best way to solve the problem at hand. which is dev count + holes in the ring being more than 64k21:49
pdardeaunotmyname: agreed21:50
*** robefran has quit IRC21:51
pdardeaunotmyname: the aspect of the holes is new to me21:52
pelusepdardeau: notmyname: the >65K thing came up from rax as part of the cloud ofr all stuff... seems like filling in holes is a good thing regarldess.  whether it solves their immediate problem or not, I don't know but pdardeau is basically operating off of a requirement that they put forward.  we can certainly ask them if that stops the bleeding or not21:56
notmynamepeluse: yup. I agree21:57
pelusenotmyname: cool... if it does then we should  take care the holes thing and go revisit the priority list again, maybe actually icnreasing >65K falls off....21:57
*** diogogmt has quit IRC21:57
pelusewe'll check for sure21:57
*** mragupat_ has joined #openstack-swift21:58
*** trifon has quit IRC21:59
pelusepdardeau: there's a meeting Thu this week, i'll add a few folks to the email you sent to Matt and I and see if we can get an answer that way... (or at least find out hwo had 1st hand knowledge of the problem)21:59
*** badari has joined #openstack-swift21:59
pdardeaupeluse: thanks! sounds like a plan21:59
*** haomaiwang has quit IRC22:01
*** haomaiwang has joined #openstack-swift22:01
*** mragupat has quit IRC22:01
*** changbl has joined #openstack-swift22:06
onovynotmyname: can you look to https://review.openstack.org/#/c/229532/ pls?22:27
*** robefran has joined #openstack-swift22:36
*** darrenc is now known as darrenc_afk22:39
*** darrenc_afk is now known as darrenc22:54
*** blmartin has quit IRC22:58
*** mragupat_ has quit IRC22:59
*** diazjf has quit IRC22:59
*** haomaiwang has quit IRC23:01
*** haomaiwang has joined #openstack-swift23:01
*** km__ has joined #openstack-swift23:04
*** zhill has quit IRC23:12
*** kei_yama has joined #openstack-swift23:23
notmynamejust reran my community stats for the first time. looks like we broke 500 contributors sometime in the last two weeks23:24
*** doxavore has quit IRC23:30
mattoliverau\o/23:37
*** breitz has quit IRC23:55
*** breitz has joined #openstack-swift23:56

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