Thursday, 2019-08-01

*** efried has quit IRC00:51
*** efried has joined #openstack-placement00:59
*** tetsuro has joined #openstack-placement01:12
*** tetsuro has quit IRC02:24
*** tetsuro has joined #openstack-placement02:48
openstackgerritTetsuro Nakamura proposed openstack/osc-placement master: Add --amend option to 'resource provider inventory set'  https://review.opendev.org/64089802:52
*** tetsuro has quit IRC03:21
*** tetsuro has joined #openstack-placement04:28
*** tetsuro has quit IRC05:02
*** dansmith has quit IRC05:26
*** dansmith has joined #openstack-placement05:28
*** tetsuro has joined #openstack-placement05:43
*** tetsuro has quit IRC05:48
*** belmoreira has joined #openstack-placement05:50
*** belmoreira has quit IRC05:50
*** belmoreira has joined #openstack-placement05:52
*** e0ne has joined #openstack-placement06:57
*** e0ne has quit IRC06:59
*** belmoreira has quit IRC07:01
*** belmoreira has joined #openstack-placement07:03
*** tetsuro has joined #openstack-placement07:13
*** tetsuro has quit IRC07:17
*** belmoreira has quit IRC07:28
*** tssurya has joined #openstack-placement07:32
*** belmoreira has joined #openstack-placement07:35
*** cdent has joined #openstack-placement07:36
*** e0ne has joined #openstack-placement07:53
*** belmoreira has quit IRC08:01
*** belmoreira has joined #openstack-placement08:07
*** belmoreira has quit IRC08:09
*** belmoreira has joined #openstack-placement08:11
*** purplerbot has quit IRC08:36
*** purplerbot has joined #openstack-placement08:36
*** belmoreira has quit IRC08:54
* cdent will update the canaries09:01
*** belmoreira has joined #openstack-placement09:03
openstackgerritChris Dent proposed openstack/placement master: Bump os-traits minimum to 0.16.0  https://review.opendev.org/67396409:05
*** belmoreira has quit IRC09:22
*** belmoreira has joined #openstack-placement09:26
cdentstephenfin: if you're around if you could gaze at ^, that would be lovely09:32
*** e0ne_ has joined #openstack-placement09:36
*** e0ne has quit IRC09:37
stephenfincdent: Makes sense. Done09:43
cdentthanks09:43
*** belmoreira has quit IRC09:53
*** belmoreira has joined #openstack-placement10:00
openstackgerritChris Dent proposed openstack/placement master: _get_all_by_filters_from_db do not cast to list of dict  https://review.opendev.org/67399110:07
cdentedleafe: you'll be "happy" to know that the method to maintain awareness of the graph in placement, https://opendev.org/openstack/placement/src/branch/master/placement/objects/research_context.py#L303 , is a major cpu contributor. For whatever reason the db doesn't much like to do that query quickly11:05
cdentzzzeek: any suggestions on speeding the query in the linked code ^ ?11:07
cdentthat in_ clause will ofte have hundreds or thousands of ids11:07
*** belmoreira has quit IRC11:17
*** belmoreira has joined #openstack-placement11:19
*** e0ne has joined #openstack-placement11:29
*** e0ne_ has quit IRC11:30
cdenthmmm, I've worked around it in a useful way11:58
openstackgerritChris Dent proposed openstack/placement master: Remove double join in provider_ids_from_rp_ids  https://review.opendev.org/67401712:26
*** tssurya_ has joined #openstack-placement12:37
*** tssurya has quit IRC12:37
*** tssurya_ is now known as tssurya12:37
*** artom has quit IRC12:37
*** belmoreira has quit IRC12:48
*** belmoreira has joined #openstack-placement13:06
edleafecdent: I wouldn't say I'm happy to hear that. I would say I'm not surprised at all.13:20
cdent"quotes on purpose"13:20
edleafeYes, I realized that13:20
cdentother not surprising observation: default postgresql is more load-handling than default mysql13:21
edleafeMATCH (root)-[*0..99]->(rp) seems a lot simpler. Not having to track those IDs also makes the code base a whole lot simpler, too13:22
efriedcdent: I thought zzzeek at some point recommended we do those in batches instead of all at once.13:25
cdentefried: yes, but it's not clear that's appreciably different enough for the cost to the code readability. i'll try it though13:26
cdentremoving the joins helps, but not as much as i would have liked13:27
zzzeekcdent: there's a technique to batch queries on large lists of IN,yes13:27
*** mriedem has joined #openstack-placement13:27
zzzeekcdent: since you don't have an ORDER BY it should be straightforward13:27
cdentzzzeek: is it likely to have much impact? the newer (no joins) code is at https://review.opendev.org/67401713:28
zzzeekcdent: there's also a technique called baked query that could speed this up a lot on the python side, baked queries are going to be superseded by somethign a lot better in a year or so but for now they would cut down the Python query compilation time, if that's where this gets hit13:29
cdentone sec, lemme look back at the profiling13:29
zzzeekcdent: depends on where this code is causing a problem, eg. query compialtion, or network overhead, or database time, or lots of rows coming back13:29
zzzeekcdent: from what I can see I dont know if it's just the outer join that is making the query slow13:30
zzzeekcdent: if that newer code is much faster, then you know it wasn't the IN of lots of values13:31
cdentafter that change, execute is about 50% of the time under the call, in_ is maybe 30%13:32
efriedzzzeek: Is a baked query anything like a stored procedure?13:35
zzzeekefried: nope13:35
zzzeekefried: it just caches the process of turning the PYthon object into a string.   looking at this code some more, it won't have that dramatic of an impact b.c. this is not an ORM query in the first place13:36
efriedmm13:36
zzzeekORM Query objects are expensive to build and turn into strings13:36
cdentyeah, since jay started much of this code, he eschewed ORM objects13:37
efriedI think we have almost none of that in placement13:37
efriedyeah13:37
cdentthe perfload nodes are not great machines. I can get much better results elsewhere13:48
*** belmoreira has quit IRC14:10
cdentzzzeek: doing " sa.bindparam('rps', expanding=True " appears to have a rather positive impact14:19
* cdent pushes up a patch for that14:20
zzzeekcdent: great, I hope to make those the standard in 1.414:21
zzzeeke.g. all IN will use that approach14:21
zzzeekand will also work with empty collections14:21
cdentyay, progress!14:21
zzzeekand tuples14:21
zzzeekcdent: it's a little surprising it's improving performance for you without using query caching though14:23
cdentit's making the surrounding method about 50% faster which is ... weird14:23
cdentbut i'll take it14:23
cdentyou can have a closer look when I get the patch committed, if that's useful, just a sec14:24
*** artom has joined #openstack-placement14:25
openstackgerritChris Dent proposed openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_  https://review.opendev.org/67404814:27
cdentthanks for watching the requirements mriedem15:08
cdenti've been way down deep in profiing data... is weird down here15:08
mriedemcdent: one thing in https://review.opendev.org/#/c/673788/ if you care,15:10
mriedemi think you're getting a ResultProxy back not a RowProxy15:10
mriedemnot a big deal, but if anyone ever gets confused over that commit message whilst debugging15:10
cdentyeah, good suggestion15:11
mriedemi'd fast approve if you update15:11
mriedemthus completing my 2 minimum placement reviews per month15:11
cdentmriedem: look at the one in the middle of that stack and then I'll fix up all three accordingly15:11
cdentof course the one in the middle is the hard one...15:11
mriedemyeah.... "this probably needs some pretty thoughtful review"15:12
mriedemplus you have to fix the tests anyway right?15:12
cdentthey're already fixed in https://review.opendev.org/#/c/673964/ , but if I have to edit the bottom of my stack I'd like to edit the middle of my stack if you're going to have things to say15:13
openstackgerritChris Dent proposed openstack/placement master: Remove ProviderIds namedtuple  https://review.opendev.org/67378815:26
openstackgerritChris Dent proposed openstack/placement master: Remove double join in provider_ids_from_rp_ids  https://review.opendev.org/67401715:26
openstackgerritChris Dent proposed openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_  https://review.opendev.org/67404815:26
mriedemsorry was on the phone, i didn't look at the middle patch in detail15:27
*** tssurya has quit IRC15:30
cdentmriedem: s'okay, realized I was near the end of my day, so figured I'd go ahead15:31
mriedem10:30 here and i'm not sure i've started doing any of the things from my list :)15:32
cdenti was started unusually early this morning15:33
*** e0ne has quit IRC15:37
* cdent will come back later to recheck several things after traits canary merges15:43
cdentin the meaning15:43
* cdent waves15:43
cdentmeantime!15:43
*** cdent has quit IRC15:48
*** artom has quit IRC16:04
*** artom has joined #openstack-placement16:29
mriedembtw, it's probably time to close out launchpad for osc-placement bugs https://bugs.launchpad.net/placement-osc-plugin19:50
mriedemi can do that easily enough. i'm not sure if https://bugs.launchpad.net/placement-osc-plugin/+bug/1811101 will still be visible - probably not, but could just create a story from it in sb19:51
openstackLaunchpad bug 1811101 in placement-osc-plugin "table columns can have inconsistent ordering" [Undecided,New]19:51
mriedemdone https://bugs.launchpad.net/placement-osc-plugin19:52
mriedemhttps://launchpad.net/placement-osc-plugin tells people to go to storyboard19:53
*** e0ne has joined #openstack-placement20:40
*** takashin has joined #openstack-placement20:50
*** artom has quit IRC21:39
openstackgerritEric Fried proposed openstack/placement master: Remove ProviderIds namedtuple  https://review.opendev.org/67378821:48
openstackgerritEric Fried proposed openstack/placement master: Remove double join in provider_ids_from_rp_ids  https://review.opendev.org/67401721:48
openstackgerritEric Fried proposed openstack/placement master: Use expanding bindparam in provider_ids_from_rp_ids in_  https://review.opendev.org/67404821:48
*** mriedem has quit IRC21:53
*** e0ne_ has joined #openstack-placement22:45
*** e0ne has quit IRC22:46
*** e0ne has joined #openstack-placement22:47
*** e0ne_ has quit IRC22:50
*** e0ne has quit IRC22:52
*** artom has joined #openstack-placement23:52

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