)]}'
{"id":"openstack%2Fplacement~674647","triplet_id":"openstack%2Fplacement~master~I121e5ac6e8202467bf72d9de7ac452d5b5804da1","project":"openstack/placement","branch":"master","topic":"optimize-_build_provider_summaries","hashtags":[],"change_id":"I121e5ac6e8202467bf72d9de7ac452d5b5804da1","subject":"Use expanding bindparam in extend_usages_by_provider_tree","status":"MERGED","created":"2019-08-05 16:21:47.000000000","updated":"2019-08-07 16:11:49.000000000","submitted":"2019-08-07 16:11:49.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":1,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"674647-1565194309533-25fc65c6","meta_rev_id":"096876e0262d6f4aeab7462bdcbd596dc0747104","_number":674647,"virtual_id_number":674647,"owner":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":2,"date":"2019-08-07 16:11:49.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"all":[{"value":2,"date":"2019-08-06 15:17:29.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":2,"date":"2019-08-07 08:03:28.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":1,"date":"2019-08-07 08:03:28.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"value":0,"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Default Priority","+1":"Contributor Review Promise","+2":"Core Review Promise"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2019-08-06 15:17:29.000000000","updated_by":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"reviewer":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"state":"REVIEWER"},{"updated":"2019-08-07 08:03:28.000000000","updated_by":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"reviewer":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"state":"REVIEWER"},{"updated":"2019-08-07 16:11:49.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"4c29eab363f6b70f34c27aeb46adc19bf43800b4","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-05 16:21:47.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"7f95dd7a2841a0df8bd1b35220b6f2341a358685","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-05 18:12:41.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 https://logs.opendev.org/47/674647/1/check/grenade-py3/5f22eea/ : SUCCESS in 1h 10m 48s\n- tempest-integrated-placement https://logs.opendev.org/47/674647/1/check/tempest-integrated-placement/fdc7756/ : SUCCESS in 1h 26m 54s\n- openstack-tox-docs https://logs.opendev.org/47/674647/1/check/openstack-tox-docs/422c046/html/ : SUCCESS in 6m 47s\n- openstack-tox-cover https://logs.opendev.org/47/674647/1/check/openstack-tox-cover/2b79308/cover/ : SUCCESS in 6m 42s\n- openstack-tox-lower-constraints https://logs.opendev.org/47/674647/1/check/openstack-tox-lower-constraints/97d9cc0/ : SUCCESS in 5m 53s\n- openstack-tox-pep8 https://logs.opendev.org/47/674647/1/check/openstack-tox-pep8/01a54ee/ : SUCCESS in 4m 39s\n- openstack-tox-py27 https://logs.opendev.org/47/674647/1/check/openstack-tox-py27/9c6c290/ : SUCCESS in 4m 22s\n- openstack-tox-py36 https://logs.opendev.org/47/674647/1/check/openstack-tox-py36/5a55018/ : SUCCESS in 5m 07s\n- openstack-tox-py37 https://logs.opendev.org/47/674647/1/check/openstack-tox-py37/81539bc/ : SUCCESS in 4m 32s\n- openstack-tox-functional https://logs.opendev.org/47/674647/1/check/openstack-tox-functional/4b44c06/ : SUCCESS in 5m 27s\n- openstack-tox-functional-py36 https://logs.opendev.org/47/674647/1/check/openstack-tox-functional-py36/a48a693/ : SUCCESS in 4m 47s\n- openstack-tox-functional-py37 https://logs.opendev.org/47/674647/1/check/openstack-tox-functional-py37/c923a75/ : SUCCESS in 6m 26s\n- placement-nova-tox-functional-py37 https://logs.opendev.org/47/674647/1/check/placement-nova-tox-functional-py37/1176b16/ : SUCCESS in 13m 30s\n- placement-nested-perfload https://logs.opendev.org/47/674647/1/check/placement-nested-perfload/421a6fa/ : SUCCESS in 17m 46s (non-voting)\n- placement-perfload https://logs.opendev.org/47/674647/1/check/placement-perfload/8d0eea1/ : SUCCESS in 9m 20s (non-voting)\n- tempest-ipv6-only https://logs.opendev.org/47/674647/1/check/tempest-ipv6-only/80f0866/ : SUCCESS in 1h 03m 08s","accounts_in_message":[],"_revision_number":1},{"id":"8528f1d9708a31b934aa4f0b3e58735d01d8b674","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-05 19:53:16.000000000","message":"Patch Set 1: Code-Review+2\n\n(1 comment)\n\n++","accounts_in_message":[],"_revision_number":1},{"id":"49a5c3af30648fc87258b2c5e6281ba3593895c7","author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"date":"2019-08-06 08:33:13.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"7ce060561d64514a3f2cefc18fb0dfb2de4070cc","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-06 11:44:11.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade-py3 https://logs.opendev.org/47/674647/2/check/grenade-py3/2a8f958/ : SUCCESS in 1h 07m 27s\n- tempest-integrated-placement https://logs.opendev.org/47/674647/2/check/tempest-integrated-placement/4509314/ : SUCCESS in 1h 09m 21s\n- openstack-tox-docs https://logs.opendev.org/47/674647/2/check/openstack-tox-docs/0535828/html/ : SUCCESS in 5m 25s\n- openstack-tox-cover https://logs.opendev.org/47/674647/2/check/openstack-tox-cover/c0aee7f/cover/ : SUCCESS in 8m 59s\n- openstack-tox-lower-constraints https://logs.opendev.org/47/674647/2/check/openstack-tox-lower-constraints/9d3ef2f/ : SUCCESS in 6m 13s\n- openstack-tox-pep8 https://logs.opendev.org/47/674647/2/check/openstack-tox-pep8/cfe6278/ : SUCCESS in 6m 02s\n- openstack-tox-py27 https://logs.opendev.org/47/674647/2/check/openstack-tox-py27/620462d/ : SUCCESS in 5m 07s\n- openstack-tox-py36 https://logs.opendev.org/47/674647/2/check/openstack-tox-py36/f1589ae/ : SUCCESS in 5m 21s\n- openstack-tox-py37 https://logs.opendev.org/47/674647/2/check/openstack-tox-py37/49a774a/ : SUCCESS in 7m 36s\n- openstack-tox-functional https://logs.opendev.org/47/674647/2/check/openstack-tox-functional/27b435b/ : SUCCESS in 6m 24s\n- openstack-tox-functional-py36 https://logs.opendev.org/47/674647/2/check/openstack-tox-functional-py36/5d853f4/ : SUCCESS in 6m 47s\n- openstack-tox-functional-py37 https://logs.opendev.org/47/674647/2/check/openstack-tox-functional-py37/cb097fc/ : SUCCESS in 5m 31s\n- placement-nova-tox-functional-py37 https://logs.opendev.org/47/674647/2/check/placement-nova-tox-functional-py37/b3cc70a/ : SUCCESS in 12m 12s\n- placement-nested-perfload https://logs.opendev.org/47/674647/2/check/placement-nested-perfload/0de5e8e/ : SUCCESS in 18m 53s (non-voting)\n- placement-perfload https://logs.opendev.org/47/674647/2/check/placement-perfload/c99765c/ : SUCCESS in 8m 40s (non-voting)\n- tempest-ipv6-only https://logs.opendev.org/47/674647/2/check/tempest-ipv6-only/84aee88/ : SUCCESS in 1h 02m 45s","accounts_in_message":[],"_revision_number":2},{"id":"234977667eb154edbe0226114a259638ce81b679","author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"date":"2019-08-06 15:17:29.000000000","message":"Patch Set 2: Code-Review+2","accounts_in_message":[],"_revision_number":2},{"id":"64ccf21dbdfc4f2d668c8cbbe4a9edcc6b0d2348","author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"date":"2019-08-07 08:03:28.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"6eafef9e5e36d104088163bc15afa8282ce9840f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-07 14:27:40.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"ac0db07b9839100483372c5edb2a530f096ce333","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-07 16:11:49.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade-py3 https://logs.opendev.org/47/674647/2/gate/grenade-py3/9c27428/ : SUCCESS in 1h 10m 27s\n- tempest-integrated-placement https://logs.opendev.org/47/674647/2/gate/tempest-integrated-placement/48071eb/ : SUCCESS in 1h 34m 28s\n- openstack-tox-docs https://logs.opendev.org/47/674647/2/gate/openstack-tox-docs/ff45bcb/html/ : SUCCESS in 4m 07s\n- openstack-tox-lower-constraints https://logs.opendev.org/47/674647/2/gate/openstack-tox-lower-constraints/b8df0e4/ : SUCCESS in 6m 17s\n- openstack-tox-pep8 https://logs.opendev.org/47/674647/2/gate/openstack-tox-pep8/8aee8a6/ : SUCCESS in 7m 36s\n- openstack-tox-py27 https://logs.opendev.org/47/674647/2/gate/openstack-tox-py27/9ee3642/ : SUCCESS in 4m 53s\n- openstack-tox-py36 https://logs.opendev.org/47/674647/2/gate/openstack-tox-py36/b740325/ : SUCCESS in 9m 11s\n- openstack-tox-py37 https://logs.opendev.org/47/674647/2/gate/openstack-tox-py37/fe06dfd/ : SUCCESS in 5m 45s\n- openstack-tox-functional https://logs.opendev.org/47/674647/2/gate/openstack-tox-functional/db0cc53/ : SUCCESS in 5m 33s\n- openstack-tox-functional-py36 https://logs.opendev.org/47/674647/2/gate/openstack-tox-functional-py36/d781de2/ : SUCCESS in 5m 42s\n- openstack-tox-functional-py37 https://logs.opendev.org/47/674647/2/gate/openstack-tox-functional-py37/fd8f243/ : SUCCESS in 5m 53s\n- placement-nova-tox-functional-py37 https://logs.opendev.org/47/674647/2/gate/placement-nova-tox-functional-py37/040c1c7/ : SUCCESS in 17m 03s\n- tempest-ipv6-only https://logs.opendev.org/47/674647/2/gate/tempest-ipv6-only/f865c15/ : SUCCESS in 1h 03m 05s","accounts_in_message":[],"_revision_number":2},{"id":"08e8d1f759301bdd6b6637e9d5f3f51db8ca820f","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2019-08-07 16:11:49.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"5883c794f969b8fda14078137704b4dd34919ab0","revisions":{"88ab5f69f2b398ffc3d1fe4cd9f5a2a025cc747e":{"kind":"REWORK","_number":1,"created":"2019-08-05 16:21:47.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/47/674647/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/47/674647/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/47/674647/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/47/674647/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/47/674647/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/47/674647/1"}}},"commit":{"parents":[{"commit":"a7f5850c0066c02bba75be850e17be490d71c0c1","subject":"Make _get_trees_with_traits return a set","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/a7f5850c0066c02bba75be850e17be490d71c0c1"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-05 16:19:50.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-05 16:19:50.000000000","tz":60},"subject":"Use expanding bindparam in extend_usages_by_provider_tree","message":"Use expanding bindparam in extend_usages_by_provider_tree\n\nWhen doing a non-nested GET /allocation_candidates query, the\n`in_` handling in extend_usages_by_provider_tree is a measurable\ncontributor to CPU time, so we ligthen that somewhat with an\nexpanding bindparam, as done early in provider_ids_from_rp_ids [1]\n\n[1] Ic4e0cdd87f8f2d76b921059ac4bf16a838913abf\n\nChange-Id: I121e5ac6e8202467bf72d9de7ac452d5b5804da1\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/88ab5f69f2b398ffc3d1fe4cd9f5a2a025cc747e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/88ab5f69f2b398ffc3d1fe4cd9f5a2a025cc747e"}]},"branch":"refs/heads/master"},"5883c794f969b8fda14078137704b4dd34919ab0":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":2,"created":"2019-08-06 08:33:13.000000000","uploader":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"ref":"refs/changes/47/674647/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/placement","ref":"refs/changes/47/674647/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/placement refs/changes/47/674647/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/placement refs/changes/47/674647/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/placement refs/changes/47/674647/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/placement refs/changes/47/674647/2"}}},"commit":{"parents":[{"commit":"51e4f4195e8a00f131afb025adb96afaaea5472f","subject":"Make _get_trees_with_traits return a set","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/51e4f4195e8a00f131afb025adb96afaaea5472f"}]}],"author":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-05 16:19:50.000000000","tz":60},"committer":{"name":"Chris Dent","email":"cdent@anticdent.org","date":"2019-08-06 08:32:53.000000000","tz":60},"subject":"Use expanding bindparam in extend_usages_by_provider_tree","message":"Use expanding bindparam in extend_usages_by_provider_tree\n\nWhen doing a non-nested GET /allocation_candidates query, the\n`in_` handling in extend_usages_by_provider_tree is a measurable\ncontributor to CPU time, so we lighten that somewhat with an\nexpanding bindparam, as done early in provider_ids_from_rp_ids [1]\n\n[1] Ic4e0cdd87f8f2d76b921059ac4bf16a838913abf\n\nChange-Id: I121e5ac6e8202467bf72d9de7ac452d5b5804da1\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/5883c794f969b8fda14078137704b4dd34919ab0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/placement/commit/5883c794f969b8fda14078137704b4dd34919ab0"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
