Thursday, 2016-12-01

*** tqtran has quit IRC00:04
claygnotmyname: it's a common problem - most people are not in australia00:04
mattoliverauwell with Trump, I suspect that to change somewhat, at least with regards to Americans :P00:11
*** vint_bra has quit IRC00:12
*** kei_yama has quit IRC00:30
*** kei_yama has joined #openstack-swift00:32
notmynamehttp://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html00:34
timburkenotmyname: idk, indexing doesn't sound so "simple" to me :P00:48
notmynamewell, like most of their API, it's pretty complicated (ie hard to type in curl)00:50
notmynameI'm curious about the implementation00:50
notmynameis it simply the first bytes that return on an key read, and they filter once they have those?00:51
notmynameare they building a per-user index of stuff that they're querying before the read?00:51
notmynamethe eventual consistency callout implies the second00:51
openstackgerritClay Gerrard proposed openstack/swift: Remove ring md5 integration check from recon unittests  https://review.openstack.org/40450000:51
notmynameor maybe they've got some per-server or per-drive fast cache where they store the tags for the keys on that drive. but it might have some async component, thus giving some possible consistency windows00:52
notmynamelike our async pendings00:52
notmynameimplying that extra value in s3 isn't as much clever programming as it is clever hardware selection (+ volume purchasing) allowing them a more time-budget per request to do interesting things like this00:53
notmynameextra value == new exciting features00:54
openstackgerritMatthew Oliver proposed openstack/swift: Quarantine malformed database schema SQLite errors  https://review.openstack.org/40503100:54
openstackgerritClay Gerrard proposed openstack/swift: Remove ring md5 integration check from recon unittests  https://review.openstack.org/40450000:55
*** nikivi has joined #openstack-swift00:55
notmynamemattoliverau: thanks for picking up that bug!00:55
claygi hate changes that are only refactoring :'(00:56
mattoliveraunotmyname: nps. Am debugging and watching containers shard.. and so while I was in the db broker anyway thought I might as well fix it.00:57
notmynameperfect :-)00:57
*** dmorita has quit IRC00:58
*** catintheroof has joined #openstack-swift01:05
*** kei_yama has quit IRC01:05
*** kei_yama has joined #openstack-swift01:06
claygnotmyname: why would you assume they're doing anything different that you would do?  something in process and consistency troller to put metadata in an index (yeah probably shared per user)01:07
claygthe integration is sweet tho -> That is, you cannot create a policy to grant or deny a user permissions to delete or override an existing object based on its existing tags.01:07
*** catintheroof has quit IRC01:08
notmynameclayg: well, I'm not exactly sure how *I'd* do it :-)01:11
notmynameprobably one of those ways01:11
* mattoliverau is going to lunch 01:13
mattoliverauwell really Bec and Lucy are at the beach playing in the sand.. so I'm going to take a break and have a beach walk, play with the daughter and find something to eat. be back in about an hour01:13
mattoliverauits a hard life :P01:13
claygnotmyname: i probably don't understand some nuanced part of what's confusing you - to mee it looks like glossed up and scaled out version of exactly what timur is doing with elastic search (like add in something that *attempts* to do it on ingest i.e. middleware + some api integration with index queries vs. direct access to the indexes)01:15
claygoh.. and they probably use some cool internal Lucene based index that's all geo'd up in their internal business and multi-tenant so they can have seperate indexes for each account (or maybe per bucket, and then you make at most 100 queries per account if you need to do cross bucket stuff?)01:16
*** dmorita has joined #openstack-swift01:18
notmynameyeah, that seems like what timur is doing and what we've talked about overall in the community. it's a reasonable way to do it01:18
notmynamebut a different way, only reasonable if you have control over the hardware, would be to have something more directly integrated into the actual servers themselves instead of a different external service01:19
*** nikivi has quit IRC01:19
notmynamelike if their DCs have Awesome(tm) networks and/or protocols --meaning new requests aren't expensive -- then putting an NVMe card in each storage server to index the tags on the keys on that server might be simpler01:20
*** dmorita has quit IRC01:21
notmynameeg if it's not an expensive operation to have an api server make a request to a storage server and check the tags against some policy01:21
*** dmorita has joined #openstack-swift01:21
notmynamealternatively, i could have just been playing with hardware too much lately, and that's my current hammer ;-)01:22
*** dmorita has quit IRC01:24
*** dmorita has joined #openstack-swift01:24
notmynameoh, and timur's stuff is and will be totally awesome01:25
claygnotmyname: but the tags are an aggregation - you can split that up across every storage server in s3?  well maybe i don't know the science behind distributed indexes - seems like there'd be a diminishing returns spreading it around if you'd expect only 1/1K servers to have a hit for given key01:25
*** dmorita has quit IRC01:25
*** dmorita has joined #openstack-swift01:26
notmynamewhat do you mean by "tags are an aggregation"? they're stored per key right?01:29
notmyname(AWS key == swift object)01:29
notmynameoh, they use "object" in their doc. i'll keep using that01:29
notmynamewhat do you mean by "tags are an aggregation"? they're stored per object right?01:29
notmynamehmm..it does look like the bucket listings could be filtered by tag. well, they imply that but don't give much info01:31
notmynameotherwise it seems like a very object-centric design01:32
notmynameI don't see anything that is "show me all my objects that are color=blue". just modifications on requests that also include the actual object name itself01:32
notmynameoh, wait. not even the lifecycle stuff is aggregate. "lifecycle management in which you can specify tag-based filter, in addition to key name prefix"01:34
*** jamielennox is now known as jamielennox|away01:34
notmynameoh, but the next line is "list objects in your bucket by tag"01:34
notmynamehmm01:34
*** isotope has quit IRC01:35
openstackgerritMerged openstack/python-swiftclient: Fix 'url' to 'URL'  https://review.openstack.org/37937901:38
openstackgerritMerged openstack/swift: Multi Swift - Multiple Swift clusters on same h/w  https://review.openstack.org/39379401:38
openstackgerritMerged openstack/swift: Show team and repo badges on README  https://review.openstack.org/40285601:39
claygmattoliverau: you know I've never really noticed the corrupted and malformed db's in our test suite before - and right there under test/unit/common/ too!?01:40
kota_yeah, exactly, http://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html says that we can filter but... i cannot find the api in http://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html01:40
kota_notmyname:^^01:40
kota_that *will* be available in the future (like v3) api? or sort of hidden parameter?01:41
claygyeah I'm sure they store the keys on the object the same way they do any object metadata01:42
claygalso note that to change a tag on an object you have to do a server side copy ;)01:42
*** m_kazuhiro has joined #openstack-swift01:43
*** dmorita has quit IRC01:50
openstackgerritMerged openstack/python-swiftclient: Show team and repo badges on README  https://review.openstack.org/40285301:56
*** adu has joined #openstack-swift01:59
*** kei_yama has quit IRC02:03
*** m_kazuhiro has quit IRC02:06
*** kei_yama has joined #openstack-swift02:10
*** klrmn has quit IRC02:11
*** adu has quit IRC02:12
*** wanghua has joined #openstack-swift02:22
*** catintheroof has joined #openstack-swift02:24
*** supamatt has joined #openstack-swift02:36
supamattquestion on swift02:37
*** bkopilov has quit IRC02:38
*** clu_ has quit IRC02:38
mattoliverauclayg: I built a db with a malformed schema.. secret is to build one, the turn on editable schma PRAGMA, then exit the scema via an SQL update to the sqlite_master table. Will attach it to the patch, but look at adding it to a test in my patch as well.02:50
mattoliveraus/exit/edit/02:50
mattoliverauwhats up supamatt02:50
*** jamielennox|away is now known as jamielennox02:54
supamattmattoliverau: If a failure to insert is complete (all replicas failed) and a 503 is returned, will the key be present or absent in the container listing?02:54
supamattswift object key that is03:03
mattoliverausupamatt: if they all failed then the update to the container server wouldn't have been fired off. However swift wont return success unless it get quorum from the storage nodes. So there is a chance that 1 succeeded but still caused a failure, if one make it, it would trigger a container update so the objedct might appear in the list.. and if nothing happens to the < quorum replicas that made it, they could get03:06
mattoliveraureplicated around and actually exist in the cluster.03:06
supamattSo yes, it's possible then.03:07
mattoliverauyes, when thinking the logic through in my head ;)03:08
supamattThat's baddd maybe?03:09
supamattdepends on the data you have in there03:09
*** kei_yama has quit IRC03:11
*** kei_yama has joined #openstack-swift03:12
mattoliverauwell its good if the data you wanted to put in, actually goes in :P. Tho I might have to go look at the code to see if what I say is actually true ;)03:13
*** jamielennox is now known as jamielennox|away03:17
openstackgerritMatthew Oliver proposed openstack/swift: Quarantine malformed database schema SQLite errors  https://review.openstack.org/40503103:17
mattoliverauclayg: ^^ now with a malformed schema db for your testing pleasure03:17
*** jamielennox|away is now known as jamielennox03:26
*** catintheroof has quit IRC03:28
*** catintheroof has joined #openstack-swift03:28
*** catintheroof has quit IRC03:28
*** catintheroof has joined #openstack-swift03:30
*** catintheroof has quit IRC03:30
*** catintheroof has joined #openstack-swift03:31
*** tqtran has joined #openstack-swift03:31
*** catintheroof has quit IRC03:31
*** tqtran has quit IRC03:37
*** jamielennox is now known as jamielennox|away03:47
*** psachin has joined #openstack-swift03:47
notmynamesupamatt: are you asking about the object write? if that fails on all replicas and 503 is given to the client, what happens?03:50
notmynameor what? where's the failure?03:50
mattoliverauturns out I was wrong, it wont happen because we're (swift) is smart and checks for minimum puts (i remember the reorganising patch now that I'm looking at the code) at each chuck and before the final commit.03:53
mattoliveraunotmyname: turns out is was a customer questiion, and supamatt's a racker. They we're worried about whether a container update could happen if the object servers are too busy to put the obj.03:55
notmynameah03:55
notmynamenope03:55
*** bkopilov has joined #openstack-swift04:02
*** thurloat has quit IRC04:04
*** PsionTheory has joined #openstack-swift04:14
*** thurloat has joined #openstack-swift04:15
*** deep_1 has joined #openstack-swift04:22
*** jamielennox|away is now known as jamielennox04:33
*** PsionTheory has quit IRC04:49
*** xionchen_ has quit IRC04:54
*** links has joined #openstack-swift05:00
*** SkyRocknRoll has joined #openstack-swift05:07
*** tqtran has joined #openstack-swift05:34
*** qwertyco has joined #openstack-swift05:38
*** qwertyco has quit IRC05:38
*** qwertyco has joined #openstack-swift05:39
*** tqtran has quit IRC05:39
*** m_kazuhiro has joined #openstack-swift06:03
*** ppai has joined #openstack-swift06:12
*** dmorita has joined #openstack-swift06:18
*** dmorita has quit IRC06:22
*** m_kazuhiro has quit IRC06:34
*** ChubYann has quit IRC06:36
*** tqtran has joined #openstack-swift06:36
*** tqtran has quit IRC06:41
*** _JZ_ has quit IRC06:44
cschwedejust stumbled upon missing recon metrics in http://docs.openstack.org/developer/swift/admin_guide.html - and remembered i was already looking at them06:52
cschwedeand indeed, there’s a fix for that! patch 343321 is an easy review ;)06:52
patchbothttps://review.openstack.org/#/c/343321/ - swift - Add missing recon metrics to admin_guide06:52
*** sams-gleb has joined #openstack-swift07:12
*** sams-gleb has quit IRC07:12
*** sams-gleb has joined #openstack-swift07:12
openstackgerritClay Gerrard proposed openstack/swift: Safe cleanup listdir for db replicator  https://review.openstack.org/40513407:14
claygmahatic_: in patch https://review.openstack.org/#/c/331601/7/swift/common/db_replicator.py@116 - os.rmdir(suff_dir) changes the state of the filesystem but not the string values in the list referred to by the variable suffixes07:17
patchbotpatch 331601 - swift - remove empty db hash and suffix directories07:17
claygmattoliverau: that is sick07:22
claygre: malformed_schema.db07:22
claygmattoliverau: well replicated objects are auto commited - it only takes one successful 200 from the backend to rebuild the object - so that one server that returned the 200 can do the container update07:28
claygmattoliverau: on the EC side once the proxy thinks an object is durable ("enough" frags responded) then it sends commit and anyone still alive can send their container updates07:29
mahatic_clayg: hmm if there are no more suffixes (and it's an empty partition), that's what it's supposed to do right? delete the part dir if it's empty?07:29
clayg... either way container is always updated after successful object PUT - so the higher risk would be an object PUT successfully and then die before the container update - which is why the conatiner update is distributed07:29
mahatic_empty part dir*07:30
claygmahatic_: IME empty part dirs *are* cleaned up... patch 13852407:34
patchbothttps://review.openstack.org/#/c/138524/07:34
*** hseipp has joined #openstack-swift07:37
*** ppai has quit IRC07:39
mahatic_clayg: right, and with this change https://review.openstack.org/#/c/331601/7/swift/common/db_replicator.py@99 we might end up again with an empty part dir which is not cleaned up07:44
patchbotpatch 331601 - swift - remove empty db hash and suffix directories07:44
mahatic_clayg: Not sure how possible it is in reality, but in a recursive clean up, we might end up there07:45
mahatic_clayg: http://paste.openstack.org/show/591062/ -> linie#99 is gonna clean up afb and afc and then move onto 460, leaving empty 45007:55
*** ppai has joined #openstack-swift07:55
mahatic_that is what I think would happen07:56
*** cschwede has quit IRC08:05
*** tmoreira has quit IRC08:07
*** ppai has quit IRC08:07
claygmahatic_: put an empty part dir in one of your container datdirs and run the replicator a couple of times - I think it's cleaned up by line 9108:09
clayg... but that's not really my point - I get what your saying about trying to clean it up in the same pass - but I don't feel that your acknowledging to me that you recognize the values of the variable suffix doesn't change with line 99 - the code is not right - maybe that is obvious and the conversation moved on from implementation to behavior - unclear08:11
mahatic_line 91 will clean it up, I think I was trying getting it cleaned up in one pass replicator08:11
mahatic_clayg: right!08:11
claygok, i don't think it important to catch it in the same pass - but if you wanted to do that you'd need another listdir - value held in suffixes would not reflect cleared out empty suffix dirs at line 115 otherwise08:12
mahatic_clayg: and correct, my bad, I did not acknowledge that suffix variable doesn't change and that line of code is wrong!08:13
mahatic_clayg: right, thanks. If it's not that important, one more listdir is not worth it I think08:15
*** oshritf has joined #openstack-swift08:19
*** ppai has joined #openstack-swift08:19
*** rledisez has joined #openstack-swift08:21
claygyeah i'm fine with it cleaning up as it goes, I think the listdir would mostly come back with a bunch of suffixes - i'd rather save the listdir for the next pass when we would expect to do something with all the suffixes we found08:24
clayg... or something08:24
*** Jeffrey4l_ has quit IRC08:26
*** jcook has quit IRC08:28
mahatic_okay08:28
*** Jeffrey4l_ has joined #openstack-swift08:30
*** csmart has quit IRC08:33
*** jcook has joined #openstack-swift08:34
*** rcernin has joined #openstack-swift08:34
claygmahatic_: please feel free to squash any code from patch 405134 as well if you do another rev08:35
*** csmart has joined #openstack-swift08:35
patchbothttps://review.openstack.org/#/c/405134/ - swift - Safe cleanup listdir for db replicator08:35
*** Guest66666 has quit IRC08:36
claygmahatic_: i dropped the implementation of test_empty_suffix_and_hash_dirs_get_cleanedup that was based on the arcane test_roundrobin_datadirs08:36
*** zaitcev has quit IRC08:36
claygi just use the file system and assert the behaviors rather than the implementation08:37
*** rcernin has quit IRC08:37
*** rcernin has joined #openstack-swift08:37
*** Guest66666 has joined #openstack-swift08:38
*** geaaru has joined #openstack-swift08:38
*** sams-gleb has quit IRC08:40
mahatic_clayg: sure. from a glance I think it has neat refactoring, plus it also fixes https://bugs.launchpad.net/swift/+bug/164636208:40
openstackLaunchpad bug 1646362 in OpenStack Object Storage (swift) "spurious files next to hashdir don't get cleaned up" [Undecided,New]08:40
claygmahatic_: also feel free to *not* do another rev - I put a +2 on it because I think it fixes the bug and should merge - if there's any cleanup that needs to happen *before* it can merge and fix the bug - I didn't see it08:40
*** sams-gleb has joined #openstack-swift08:40
mahatic_clayg: I will do that, maybe you could swap the author/co-author on it (I think I'm sure I'll mess it up)08:41
claygmahatic_: I screwed up on that bug - i should have bugged the db-replicator behavior seperatly from the object-replicator behavior08:41
mahatic_clayg: ah okay, well that sounds fine too08:41
claygmahatic_: hell, i probably should have *just* refactoed/cleaned up the test and spurious rmdir calls from your change in the follow up then gone after the hashdir is file fix in another change :'(08:42
claygso many fucking bugs08:42
claygmahatic_: as long as we close lp bug #1583719 i'm happy08:43
openstackLaunchpad bug 1583719 in OpenStack Object Storage (swift) "empty db hash/suffix directories can pile up" [Medium,In progress] https://launchpad.net/bugs/1583719 - Assigned to Mahati Chamarthy (mahati-chamarthy)08:43
claygi have some long since rebalanced off parts laying on this old disks in this one cluser - but they damn part dirs won't die because they have some empty suffixes in them because who knows how long ago some db's got quarantined08:44
*** amoralej|off is now known as amoralej08:44
mahatic_clayg: I'm thinking of a way that maybe could make it easy for you. I could split your follow up if you'd wish that, just that it will be more clear on what it's doing08:45
*** sams-gleb has quit IRC08:45
claygmahatic_: sounds *amazing* - i'll take it!08:45
mahatic_clayg: great!08:45
claygmahatic_: just ping me in irc what you need me to review or add me in gerrit - i'll probably catch it in emails08:46
mahatic_yup sure08:46
claygthanks08:46
mahatic_np, thanks too!08:46
claygacahcaphcaph cschwede is not in channel!?08:47
claygwasn't there some critical replication bug fix related to suffix listdirs we still needed to land?08:48
clayglp bug #164480708:51
openstackLaunchpad bug 1644807 in OpenStack Object Storage (swift) "hashes.pkl suffix update is not deterministic and might be never triggered" [High,In progress] https://launchpad.net/bugs/1644807 - Assigned to Christian Schwede (cschwede)08:51
claygs/be never/never be/ - it even *sounds* like cschwede ;)08:53
*** sams-gleb has joined #openstack-swift08:55
*** asettle has joined #openstack-swift08:55
*** Guest36 has joined #openstack-swift08:59
*** acoles_ is now known as acoles09:00
*** hseipp has quit IRC09:02
*** ppai has quit IRC09:06
acolesgood morning09:06
*** sams-gleb has quit IRC09:07
*** sams-gleb has joined #openstack-swift09:08
*** wer has quit IRC09:08
*** hseipp has joined #openstack-swift09:10
*** sams-gleb has quit IRC09:10
*** sams-gleb has joined #openstack-swift09:10
*** hogepodge has quit IRC09:11
*** sams-gleb has quit IRC09:12
*** sams-gleb has joined #openstack-swift09:12
*** hogepodge has joined #openstack-swift09:12
mahatic_acoles: o/09:12
*** wer has joined #openstack-swift09:13
*** sams-gleb has quit IRC09:17
*** ppai has joined #openstack-swift09:23
*** tmoreira has joined #openstack-swift09:26
*** rcernin has quit IRC09:29
*** rcernin has joined #openstack-swift09:30
*** hogepodge has quit IRC09:31
*** hogepodge has joined #openstack-swift09:32
*** wanghua has quit IRC09:38
*** Guest36 has quit IRC09:40
*** gabor_antal has joined #openstack-swift09:45
*** SkyRocknRoll has quit IRC09:46
*** davideagle_ has joined #openstack-swift09:53
*** openstack has joined #openstack-swift10:04
*** rcernin has quit IRC10:06
*** rcernin has joined #openstack-swift10:07
*** ppai has joined #openstack-swift10:09
*** SkyRocknRoll has joined #openstack-swift10:16
*** SkyRocknRoll has quit IRC10:20
*** SkyRocknRoll has joined #openstack-swift10:21
*** psachin has quit IRC10:22
*** SkyRocknRoll has quit IRC10:29
openstackgerritAlistair Coles proposed openstack/swift: Add missing expirer recon metric to admin_guide  https://review.openstack.org/40526510:33
*** mvk has quit IRC10:33
*** tmoreira has quit IRC10:33
*** sams-gleb has joined #openstack-swift10:33
*** tmoreira has joined #openstack-swift10:34
*** dmorita has joined #openstack-swift10:34
*** sams-gleb has quit IRC10:35
*** sams-gleb has joined #openstack-swift10:35
*** psachin has joined #openstack-swift10:36
*** aj701_ has joined #openstack-swift10:36
openstackgerritMahati Chamarthy proposed openstack/swift: Safe cleanup listdir for db replicator  https://review.openstack.org/40513410:38
*** patchbot has quit IRC10:39
*** tonyb has quit IRC10:39
*** aj701 has quit IRC10:39
*** dmorita has quit IRC10:39
*** sams-gleb has quit IRC10:39
*** tmoreira has quit IRC10:42
*** patchbot has joined #openstack-swift10:43
*** tonyb has joined #openstack-swift10:43
*** SkyRocknRoll has joined #openstack-swift10:43
*** tmoreira has joined #openstack-swift10:44
*** SkyRocknRoll has quit IRC10:44
*** SkyRocknRoll has joined #openstack-swift10:45
*** cschwede has joined #openstack-swift10:45
openstackgerritKazuhiro MIYAHARA proposed openstack/swift: Remove redundant codes from unit test of object updater  https://review.openstack.org/40527110:48
*** ChanServ sets mode: +v cschwede10:51
openstackgerritMahati Chamarthy proposed openstack/swift: Cleanup spurious files next to hashdir  https://review.openstack.org/40527410:58
mahatic_clayg: ^^ there you go 405134 and 40527411:00
*** mvk has joined #openstack-swift11:09
openstackgerritKazuhiro MIYAHARA proposed openstack/swift: Rename ObjectUpdater variables in unit test to appropriate names  https://review.openstack.org/40528111:10
*** bapalm has quit IRC11:10
*** bapalm has joined #openstack-swift11:15
*** deep_1 has quit IRC11:43
openstackgerritClay Gerrard proposed openstack/swift: Cleanup tests from deterministic suffix updates  https://review.openstack.org/40529511:56
*** bkopilov has quit IRC12:09
*** catintheroof has joined #openstack-swift12:25
*** deep_1 has joined #openstack-swift12:34
*** SkyRocknRoll has quit IRC12:41
*** catintheroof has quit IRC12:48
openstackgerritClay Gerrard proposed openstack/swift: Move documented reclaim_age option to correct location  https://review.openstack.org/37441912:56
*** vint_bra has joined #openstack-swift13:00
*** jamielennox is now known as jamielennox|away13:00
*** catintheroof has joined #openstack-swift13:13
*** catinthe_ has joined #openstack-swift13:18
*** catintheroof has quit IRC13:19
*** amoralej is now known as amoralej|lunch13:21
*** kei_yama has quit IRC13:29
*** ppai has quit IRC13:29
*** qwertyco has quit IRC13:47
*** dmorita has joined #openstack-swift13:52
*** bkopilov has joined #openstack-swift13:52
*** dmorita has quit IRC13:56
*** jpich has joined #openstack-swift14:01
*** rcernin has quit IRC14:10
*** rcernin has joined #openstack-swift14:11
*** StraubTW has joined #openstack-swift14:15
openstackgerritMahati Chamarthy proposed openstack/swift: Confirm receipt of SLO PUT with etag  https://review.openstack.org/39090114:16
mahatic_^ needs some eyes before I run into merge conflict with tests.py again ;)14:19
* mahatic_ is taking off mon and tue. will be on/off IRC tomm14:19
*** amoralej|lunch is now known as amoralej14:21
openstackgerritClay Gerrard proposed openstack/swift: Cleanup tests from empty suffix quarantined db fix  https://review.openstack.org/40513414:30
claygmahatic_: I think patch 331601 is ready for a +A - the follow in patch 405134 is pretty clean at this point I think14:32
patchbothttps://review.openstack.org/#/c/331601/ - swift - remove empty db hash and suffix directories14:32
patchbothttps://review.openstack.org/#/c/405134/ - swift - Cleanup tests from empty suffix quarantined db fix14:32
claygmahatic_: i split up the bugs so patch 405274 can close the spurious file issue - I think it'll take a little more review to agree on all the right behaviors14:32
patchbothttps://review.openstack.org/#/c/405274/ - swift - Cleanup spurious files next to hashdir14:32
*** manous has joined #openstack-swift14:33
claygmahatic_: note that lp bug #1646502 is totally wide open for a confirmation or failing unittest or even a fixing patch!  I think it's unrelated to your work in the container db walker14:34
openstackLaunchpad bug 1646502 in OpenStack Object Storage (swift) "spurious files next to object hashdir trigger bad quarantine" [Undecided,New] https://launchpad.net/bugs/164650214:34
*** psachin has quit IRC14:34
mahatic_clayg: all-nighter?14:36
cschwedeclayg: are you sleeping sometimes?14:36
cschwedemahatic_: heh, same thought :)14:36
mahatic_clayg: ah, you've moved the unlink part as well while splitting up. I thought since it's put a function in place for rmdir calls, it should go with patch 405134. But either way is fine14:37
patchbothttps://review.openstack.org/#/c/405134/ - swift - Cleanup tests from empty suffix quarantined db fix14:37
mahatic_maybe it more belongs in patch 405274 as it's handling the unexpected files in suffixdir as well14:38
patchbothttps://review.openstack.org/#/c/405274/ - swift - Cleanup spurious files next to hashdir14:38
claygmahatic_: ah, that might could have been added there i see - but i'm pretty sure that's closer to the spurious files fix - not the empty dir fix14:38
claygand regardless it wasn't "stright forward cleanup over patch 331601" - which is really what i was going for with patch 40513414:39
patchbothttps://review.openstack.org/#/c/331601/ - swift - remove empty db hash and suffix directories14:39
patchbothttps://review.openstack.org/#/c/405134/ - swift - Cleanup tests from empty suffix quarantined db fix14:39
claygcschwede: what do you wanna do about the deterministic hashdir fix's tests?14:39
mahatic_clayg: ack on lp bug #1646502. I'd like to take a better look at it. will only get to do it next (i'm off work until wed)14:39
openstackLaunchpad bug 1646502 in OpenStack Object Storage (swift) "spurious files next to object hashdir trigger bad quarantine" [Undecided,New] https://launchpad.net/bugs/164650214:39
mahatic_clayg: yeah, I see that14:39
jrichlimahatic_, clayg: I'll retest and check-out patch 331601 today14:40
patchbothttps://review.openstack.org/#/c/331601/ - swift - remove empty db hash and suffix directories14:40
mahatic_jrichli: thanks14:40
cschwedeclayg: what do you mean? i see you already added a cleanup? i was thinking to add sth to probetests14:43
cschwedeclayg: and probably your cleanup should be squashed into the patch itself?14:45
clayg"sth"?14:50
claygyeah we can squash it down - we need to get someone else to review it - onovy maybe?14:50
jrichlimahatic_: np!  Maybe clayg decided to go to sleep finally ... nope, still awake.  Crazy man!14:50
mahatic_clayg: gotcha! I more often than not end looking up the acronyms you use. I think "sth" = something14:52
mahatic_s/end/end up14:52
mahatic_;)14:52
cschwedeclayg: i mean i am looking into modifying the test_replication_servers_working.py test, and ensuring that a hashes.pkl with one missing suffix gets replicated finally14:52
claygah, wow - ok14:53
cschwedeclayg: i think this bug (together with the random fix of the missing suffix in hashes.pkl) is quite serious, and i want to make sure there is no regression of this in the future14:54
*** sams-gleb has joined #openstack-swift14:55
*** daemontool has joined #openstack-swift15:00
*** links has quit IRC15:01
*** stevemar has joined #openstack-swift15:21
*** stevemar_znc has joined #openstack-swift15:29
openstackgerritClay Gerrard proposed openstack/swift: Fixups for ghost listing fix  https://review.openstack.org/40545015:32
claygcschwede: everyone was so jazzed up about those invalid files being faster somehow we forgot that we're messing with a critically important component?  probetests are always good15:34
openstackgerritPavel Kvasnička proposed openstack/swift: WIP: optimize hash calculation when suffix hash invalidated  https://review.openstack.org/40204315:34
*** silor has joined #openstack-swift15:37
openstackgerritAlistair Coles proposed openstack/swift: Remove duplicate code in test_diskfile.py  https://review.openstack.org/40545515:39
openstackgerritPavel Kvasnička proposed openstack/swift: WIP: optimize hash calculation when suffix hash invalidated  https://review.openstack.org/40204315:41
acolesclayg: cschwede I have been thinking that it would be good to have a unit test that mocks HASH_PATH_*FIX and does a series of PUTs, POSTs, DELETEs checking the absolute result of a REPLICATE request as it goes in an attempt to prevent any variation in suffix hashes calculations15:42
*** links has joined #openstack-swift15:48
*** silor1 has joined #openstack-swift15:49
*** silor has quit IRC15:51
*** silor1 is now known as silor15:51
*** oshritf has quit IRC15:53
*** isotope has joined #openstack-swift15:53
*** isotope has quit IRC15:56
*** krypto has joined #openstack-swift16:00
kryptohello all i want to remove a swift node from my cluster permanently for other purpose ,right now there are 5 servers total.Can i simply power the server and will it re balance automatically?16:02
*** geaaru has quit IRC16:07
*** stevemar_znc is now known as topol_16:12
*** rcernin has quit IRC16:13
*** _JZ_ has joined #openstack-swift16:15
*** topol_ is now known as topol16:20
*** silor has quit IRC16:23
*** sams-gleb has quit IRC16:23
*** sams-gleb has joined #openstack-swift16:24
*** sams-gleb has quit IRC16:28
notmynamegood morning16:34
notmynamekrypto: no, you need to remove its drives from the ring, rebalance, and push the new ring16:35
notmynamekrypto: swift will treat a powered-down node as unavailable (as opposed to a durability risk) and it won't automatically rebalance that16:36
*** siva_krish has joined #openstack-swift16:40
*** rcernin has joined #openstack-swift16:50
*** links has quit IRC16:53
*** links has joined #openstack-swift16:53
*** dmorita has joined #openstack-swift16:54
*** oshritf has joined #openstack-swift16:54
notmynameFYI https://github.com/blog/2288-git-2-11-has-been-released (and it's now available for macos via brew). I like the indent-heuristic features17:01
*** davideagle_ has quit IRC17:03
notmynamenot as useful for day-to-day in the way openstack works with branches, but the `git log 53d4d2130086c656f47e3a7cb5d6c411e8306546^-1` syntax is interesting too17:04
notmyname(that commit is the merge that brought in storage policies, and the ^-1 tells git log to only show the commits that the referenced merge commit brought in17:04
*** jpich has quit IRC17:07
*** krypto has quit IRC17:13
*** asettle has quit IRC17:24
*** deep_1 has quit IRC17:26
*** oshritf has quit IRC17:28
*** klrmn has joined #openstack-swift17:29
*** isotope has joined #openstack-swift17:31
*** diogogmt has joined #openstack-swift17:34
*** chlong has joined #openstack-swift17:45
openstackgerritMerged openstack/swift: Add missing expirer recon metric to admin_guide  https://review.openstack.org/40526517:52
*** bkopilov has quit IRC17:54
openstackgerritMerged openstack/swift: Ensure update of the container by object-updater  https://review.openstack.org/9959817:54
*** manous has quit IRC17:57
*** bkopilov has joined #openstack-swift17:58
*** siva_krish has quit IRC17:59
*** siva_krish has joined #openstack-swift18:01
*** dmorita has quit IRC18:07
*** dmorita has joined #openstack-swift18:11
*** mvk has quit IRC18:17
*** henryn has joined #openstack-swift18:17
henryngood morning all18:18
openstackgerritAlistair Coles proposed openstack/swift: Further improvement to deterministic suffix re-hashing tests  https://review.openstack.org/40555918:19
*** amoralej is now known as amoralej|off18:20
*** sams-gleb has joined #openstack-swift18:21
acolescschwede: clayg: left my comments on patch 402324, would be +2 IFF Clay's follow up for tests is squashed in.18:23
patchbothttps://review.openstack.org/#/c/402324/ - swift - Fix non-deterministic suffix updates in hashes.pkl18:23
*** silor has joined #openstack-swift18:37
*** acoles is now known as acoles_18:38
*** tqtran has joined #openstack-swift18:39
*** ChubYann has joined #openstack-swift18:40
*** silor1 has joined #openstack-swift18:46
*** silor has quit IRC18:47
*** silor1 is now known as silor18:47
*** henryn has quit IRC18:48
*** daemontool has quit IRC18:55
*** mvk has joined #openstack-swift19:14
*** sams-gleb has quit IRC19:22
*** sams-gleb has joined #openstack-swift19:22
*** sams-gleb has quit IRC19:27
*** david-lyle_ has joined #openstack-swift19:28
*** davideagle_ has joined #openstack-swift19:28
*** henryn has joined #openstack-swift19:29
*** david-lyle has quit IRC19:31
*** openstackgerrit has quit IRC19:32
*** openstackgerrit has joined #openstack-swift19:33
*** openstackgerrit has quit IRC19:36
*** davideagle_ has quit IRC19:38
*** hseipp has quit IRC19:43
*** jamielennox|away is now known as jamielennox19:53
*** david-lyle_ is now known as david-lyle20:01
*** henryn has quit IRC20:06
*** silor has quit IRC20:08
*** dmorita has quit IRC20:09
*** links has quit IRC20:09
*** dmorita has joined #openstack-swift20:09
*** dmorita has quit IRC20:10
*** dmorita has joined #openstack-swift20:13
*** dmorita has quit IRC20:17
*** dmorita has joined #openstack-swift20:19
*** dmorita has quit IRC20:26
*** henryn has joined #openstack-swift20:27
*** isotope has quit IRC20:30
*** catinthe_ has quit IRC20:34
*** isotope has joined #openstack-swift20:42
*** openstack has joined #openstack-swift20:45
*** siva_krish has quit IRC20:51
*** henryn has quit IRC20:58
*** siva_krish has joined #openstack-swift20:58
*** dmorita has joined #openstack-swift20:58
*** openstackgerrit has joined #openstack-swift21:04
openstackgerritMerged openstack/swift: remove empty db hash and suffix directories  https://review.openstack.org/33160121:04
*** rcernin has quit IRC21:10
*** nexusz99 has joined #openstack-swift21:11
openstackgerritOpenStack Proposal Bot proposed openstack/python-swiftclient: Updated from global requirements  https://review.openstack.org/8925021:17
openstackgerritOpenStack Proposal Bot proposed openstack/swift: Updated from global requirements  https://review.openstack.org/8873621:18
pdardeauthis is probably a dumb question, is use of jumbo frames the norm for swift deployments?21:21
notmynamepdardeau: I've heard that question before. let me ask around21:24
pdardeaunotmyname: thanks!21:26
notmynamepdardeau: ok, I got an answer from some our support people :-)21:26
notmynameshort answer: good technical idea, generally bad operationally21:27
notmynameso it's probably not worth it21:28
pdardeaunotmyname: thanks! i've heard similar things in the past, but wanted to see if that's still the case21:29
notmynameoperationally it's not great because it requires the whole networking infrastructure to be set up with it. and, to quote our support person, "they complain swift isn't working and we ask if the MTUs are the same everywhere and then two weeks later it's 'oh yeah, someone changed a switch config' or something"21:30
*** siva_krish has quit IRC21:30
notmynameso unless you've got decent controls over that sort of thing and are tuning for a specific workload, it's not worth the operational overhead21:31
ahaleyeah, im pretty sure when i was with rackspace we didn't do any of that sort of thing as it was too much hassle21:33
notmynameoh hi ahale!21:33
ahaleo/21:34
*** Jeffrey4l_ has quit IRC21:34
*** siva_krish has joined #openstack-swift21:35
*** Jeffrey4l_ has joined #openstack-swift21:37
pdardeauahale: thx for sharing21:44
*** dmorita has quit IRC21:44
openstackgerritMerged openstack/pyeclib: Cleanup lint errors in test suite  https://review.openstack.org/40445721:45
*** dmorita has joined #openstack-swift21:45
*** diogogmt has quit IRC21:45
claygtimburke: i'm not so sure the rmdir is not a big deal - it might be?  maybe a script that will put a roundrobin_datadirs into a tight loop; while another script does some direct container PUTs?21:47
notmynameclayg: good morning!21:48
clayglooking lock_path it does look like maybe the mkdir/open(lockpath) could blowup21:48
timburkeclayg: yeah, our directory locking seems like it could be problematic :-(21:49
claygthe ENOTEMPTY in roundrobin (should such a thing occur) would be addressed in patch 405274 if we ever make it that far21:49
patchbothttps://review.openstack.org/#/c/405274/ - swift - Cleanup spurious files next to hashdir21:49
claygtimburke: i'm not aware of ever having seen that race in traceback - it seems like other things (container db reclimation) are cleaning suffix dirs currently21:51
claygso if it *is* a problem it'd just be making it more frequent21:51
clayg... it's possible there's some other interaction with container PUT that resolves the race21:51
tdasilvais clayg in japan or australia?21:52
claygjrichli: missed that about the erorr case test in all the mocks - mocks are definately the way to handle the error case - a targeted test to catch the OSError line would be the ideal!21:53
jrichliyes, that would be better21:54
timburkeclayg: that reminds me: why are we so gung-ho to delete things when we don't know wtf the are? am i the only one that gets nervous doing that?21:54
jrichlitimburke: I was nervous too, but the rmdir doesn't succeed if its non-empty.  And a random empty dir seems ok to remove.21:55
claygtimburke: we have to make progress, i'm not that *gung-ho* about deleting spurious files next to suffix dirs - but I'd rather than not stop the partition from being balanced off the node21:55
claygso i'm looking to the object-replicator for inspiration21:56
claygit seems to quarantine spurious hashdir-files and while it ignores spurious suffixdir-files it *will* recursively destory them (and the hashes.pkl they sit next too) when it delete's the handoff partdir after sync (n.b. sync on moves suffixdirs never spurious suffixdir-files)21:57
claygit's a crap system - but it works21:57
jrichlimaybe I need to look again: I was only focused on recent changes made, and I dont see where we are removing more files than we had before21:57
timburkejrichli: yeah, the empty dirs are fine. i'm looking at the patch clayg just linked21:58
jrichlitimburke: oh right, thx!21:58
claygtimburke: i'm very much hoping someone has better ideas ;)21:58
claygtimburke: if there's part you like but are less sure on other's we can try to get mahatic_ to split it up some more21:59
claygi'm mostly just glad to have lp bug #1583719 closed - hopefully we didn't wreak anything else21:59
openstackLaunchpad bug 1583719 in OpenStack Object Storage (swift) "empty db hash/suffix directories can pile up" [Medium,In progress] https://launchpad.net/bugs/1583719 - Assigned to Mahati Chamarthy (mahati-chamarthy)21:59
timburkeidk, emit a warning? quarantine it? do something so the operator knows that these things we expected to all be directories had a file in 'em22:00
mattoliveraumorning22:00
claygno why what happened!  patch 39327622:00
patchbothttps://review.openstack.org/#/c/393276/ - pyeclib - ISA-L Cauchy support22:00
timburkeahahaha must've been me. but it's also you :P22:01
claygtimburke: object-replicator just ignores them and then delete's them when it removes the partition - what's wrong with that pattern?  I don't want parts to not balance until operator "does something" - I'd be ok if we could trick the quarantine machinery into eating them22:01
*** sams-gleb has joined #openstack-swift22:02
claygos.path.join(suffixdir_path_file, 'some-pretend-hashdir', 'some-pretend-filename') might work?  did you see lp bug #164650222:02
openstackLaunchpad bug 1646502 in OpenStack Object Storage (swift) "spurious files next to object hashdir trigger bad quarantine" [Undecided,New] https://launchpad.net/bugs/164650222:02
claygtimburke: so... are you going to do that roundrobin datadir and container PUT race script test?22:03
*** openstackgerrit has quit IRC22:03
claygtimburke: or do you think we can wait and see if the tracebacks happen in the wild?  in either race I feel like a) roundrobin datadirs will throw and try again next pass b) container server will throw and 500 (but other container replicas probably won't)22:04
*** clu_ has joined #openstack-swift22:05
*** sams-gleb has quit IRC22:06
*** sams-gleb has joined #openstack-swift22:07
jrichlitimburke: do we create the .lock in such a way that it will create sub-dirs if they don't exist?22:10
jrichliand if we do, it seems like an OS thing at that point for the race22:10
*** sams-gleb has quit IRC22:11
claygomg the stuff people get away with when here is no linting!?  3 spaces, srly!?  ;)22:12
claygjrichli: there is no system call for open this file and create the dirs if they don't exist22:13
jrichliok :-)22:13
claygjrichli: timburke: gah the more I look at common/db.py the more I see stuff that will get mad when the container-replicator removes empty dirs from under it :'(22:17
jrichliwhich rmdirs are risky?  some already existed IIRC22:19
jrichlilike the one we just merged?22:20
*** vint_bra has quit IRC22:20
claygjrichli: yeah timburke pointed out that I should probably be more scared about the rmdir race that I was (since we were going to be doing more rmdirs!)22:24
claygbut... i wasn't scared... and now I'm thinking he was probably right and I should be scared22:25
jrichliso he said just a traceback.  is that because there are retries?22:25
jrichlior would something fail and not get retried?22:25
clayg... but i'm not writing the script to test if the new roundrobin_datadirs + heavy container PUT load will race - so maybe I'm not *that* scared22:25
claygjrichli: unclear how it will fail w/o testing22:25
claygjrichli: might not fail at all in practice - could be entirely theoretical22:26
claygbut it's a *good theory*!22:26
jrichliagreed22:27
jrichlii have wondered before about having a heavy load test in the gate.  i guess it would too resource intensive.22:29
jrichlii know, in this case, you'd have to have those empty dirs too22:29
jrichlibut it just made me think of it22:29
jrichliwell, i guess in theory they'd be created under this high load22:30
jrichlijust run replication more than usual22:31
*** chlong has quit IRC22:50
timburkeclayg: jrichli: ok, that's about as tight a loop as i think i can manage http://paste.openstack.org/show/591185/22:51
timburkei'm not gonna worry about it. can't for the life of me get the race to trigger; not with threads, not with processes22:51
claygtimburke: is he best!22:54
jrichlitimburke: glad you aren't worried.  I am still running a test of my own :-)22:55
*** isotope has quit IRC22:59
claygtimburke: that script is great - for me the tipping point is ~35 microseconds of sleep between lock_path's mkdir and open (sleep(0.000035)) does will cause it trip in for loop23:07
jrichliso, i am looking at storage logs more than I usually do.  I am seeing a bunch of HEADs and GETs to .misplaced_objects.  is that normal when you replicate?23:07
jrichlilike HEAD /sdb2/701/.misplaced_objects23:08
claygthat's just the reconciler doing it's thing23:09
jrichliclayg: whew :-)23:09
claygit's sort of like the object expirer23:09
claygmaybe it's frequency is less or something idk23:09
timburkeclayg: by "trip", do you mean to say that the loop didn't run? or that it would actually hit an OSError during open()?23:09
timburke'cause that last one is what i was worried about, but i just didn't see it23:10
*** isotope has joined #openstack-swift23:12
claygyeah with some sleep in there you can hit the OSError - that's how I knew the code was exercising the race23:12
claygit's in there - just NBD in practice23:12
timburkeoh, i see what you were saying now! got it23:12
claygif this code can't even hit hit a replicator vs a container have only a snowballs chance in hell (meaning well totally get that traceback some day - but it won't be as soon as this sha makes it out to prod)23:13
*** StraubTW has quit IRC23:13
*** isotope has quit IRC23:16
jrichliI still have some ideas for testing i'll do later for fun.  but i'm goin to eat dinner now23:17
claygdo eet!23:17
claygnom nom23:17
*** kei_yama has joined #openstack-swift23:30
*** siva_krish has quit IRC23:40

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