)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9b6490bbb5d83b21497735fb0bcf1a7dcd1b19f9","unresolved":false,"context_lines":[{"line_number":10,"context_line":"users and groups) may become too slow."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iccbef534ff7e723f8b1461bb1169e2da66cc1dea"},{"line_number":13,"context_line":"Closes-Bug: #1775207"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_778168fb","line":13,"updated":"2018-06-18 21:46:41.000000000","message":"Since this is a performance related bug, would it be possible to include performance metrics, if any, in the commit message?","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"5a2f8d6c1914fdd9dcc8ba95aec9e0bf3db79b0e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"users and groups) may become too slow."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iccbef534ff7e723f8b1461bb1169e2da66cc1dea"},{"line_number":13,"context_line":"Closes-Bug: #1775207"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_4cdd88db","line":13,"in_reply_to":"5f7c97a3_778168fb","updated":"2018-06-20 18:19:32.000000000","message":"Done","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"d831802da392a399d13d6145e5213d37fc7b04e9","unresolved":false,"context_lines":[{"line_number":10,"context_line":"users and groups) may become too slow."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Iccbef534ff7e723f8b1461bb1169e2da66cc1dea"},{"line_number":13,"context_line":"Closes-Bug: #1775207"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_65e6804d","line":13,"in_reply_to":"5f7c97a3_778168fb","updated":"2018-06-19 12:11:03.000000000","message":"We\u0027ve stumbled on this in downstream (Pike), AFAIR it was SAML2+LDAP with 125+k users. the first (uncached) call to \u0027openstack token issue\u0027 takes ~12s w/o this change and ~3s with it.\n\nI\u0027ll ask to verify those numbers.","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"}],"keystone/identity/mapping_backends/base.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9b6490bbb5d83b21497735fb0bcf1a7dcd1b19f9","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \"\"\"Return mappings for the domain."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param domain_id: Domain ID to get mappings for."},{"line_number":43,"context_line":"        :param entity_type: Optional entity_type to get mappings for."},{"line_number":44,"context_line":"        :returns: list of mappings."},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d7a15caa","line":43,"range":{"start_line":43,"start_character":15,"end_line":43,"end_character":26},"updated":"2018-06-18 21:46:41.000000000","message":"What type is this parameter? Also, since we\u0027re changing the interface, we need a release note so that people implementing this interface know what\u0027s changing.","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"5a2f8d6c1914fdd9dcc8ba95aec9e0bf3db79b0e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \"\"\"Return mappings for the domain."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param domain_id: Domain ID to get mappings for."},{"line_number":43,"context_line":"        :param entity_type: Optional entity_type to get mappings for."},{"line_number":44,"context_line":"        :returns: list of mappings."},{"line_number":45,"context_line":"        \"\"\""},{"line_number":46,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_6cd884ef","line":43,"range":{"start_line":43,"start_character":15,"end_line":43,"end_character":26},"in_reply_to":"5f7c97a3_d7a15caa","updated":"2018-06-20 18:19:32.000000000","message":"Done","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"}],"keystone/tests/unit/test_backend_id_mapping_sql.py":[{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"7c4de127b962cbc38a442f327f707f6deca2310c","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        self.assertItemsEqual([local_entity1, local_entity2],"},{"line_number":373,"context_line":"                              domain_a_mappings)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def test_get_domain_mapping_list_by_entity(self):"},{"line_number":376,"context_line":"        local_id1 \u003d uuid.uuid4().hex"},{"line_number":377,"context_line":"        local_id2 \u003d uuid.uuid4().hex"},{"line_number":378,"context_line":"        local_id3 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d72ce9ad","line":375,"updated":"2018-06-07 06:37:39.000000000","message":"how about merge it into \"test_get_domain_mapping_list\" to avoid duplicate code","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"d831802da392a399d13d6145e5213d37fc7b04e9","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        self.assertItemsEqual([local_entity1, local_entity2],"},{"line_number":373,"context_line":"                              domain_a_mappings)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def test_get_domain_mapping_list_by_entity(self):"},{"line_number":376,"context_line":"        local_id1 \u003d uuid.uuid4().hex"},{"line_number":377,"context_line":"        local_id2 \u003d uuid.uuid4().hex"},{"line_number":378,"context_line":"        local_id3 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_e094be8e","line":375,"in_reply_to":"5f7c97a3_17703440","updated":"2018-06-19 12:11:03.000000000","message":"will do","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"9b6490bbb5d83b21497735fb0bcf1a7dcd1b19f9","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        self.assertItemsEqual([local_entity1, local_entity2],"},{"line_number":373,"context_line":"                              domain_a_mappings)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def test_get_domain_mapping_list_by_entity(self):"},{"line_number":376,"context_line":"        local_id1 \u003d uuid.uuid4().hex"},{"line_number":377,"context_line":"        local_id2 \u003d uuid.uuid4().hex"},{"line_number":378,"context_line":"        local_id3 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_17703440","line":375,"in_reply_to":"5f7c97a3_6d298235","updated":"2018-06-18 21:46:41.000000000","message":"++ to reducing duplicate code if we can.","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"30890b83d420049359a2d326a039a084169407bc","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        self.assertItemsEqual([local_entity1, local_entity2],"},{"line_number":373,"context_line":"                              domain_a_mappings)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def test_get_domain_mapping_list_by_entity(self):"},{"line_number":376,"context_line":"        local_id1 \u003d uuid.uuid4().hex"},{"line_number":377,"context_line":"        local_id2 \u003d uuid.uuid4().hex"},{"line_number":378,"context_line":"        local_id3 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_6d298235","line":375,"in_reply_to":"5f7c97a3_d72ce9ad","updated":"2018-06-07 08:01:17.000000000","message":"we could indeed move all local_* variables setup to a auxiliary method.\nI\u0027ll do it if more revisions are deemed necessary","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"5a2f8d6c1914fdd9dcc8ba95aec9e0bf3db79b0e","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        self.assertItemsEqual([local_entity1, local_entity2],"},{"line_number":373,"context_line":"                              domain_a_mappings)"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    def test_get_domain_mapping_list_by_entity(self):"},{"line_number":376,"context_line":"        local_id1 \u003d uuid.uuid4().hex"},{"line_number":377,"context_line":"        local_id2 \u003d uuid.uuid4().hex"},{"line_number":378,"context_line":"        local_id3 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_8cd3a0d3","line":375,"in_reply_to":"5f7c97a3_e094be8e","updated":"2018-06-20 18:19:32.000000000","message":"Done","commit_id":"0aeffff3afb0efd0b89553941bcbee4b282f44e1"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"cecce6927f8e622bf5c2e75ce14af740a0fd7d2e","unresolved":false,"context_lines":[{"line_number":367,"context_line":"            )"},{"line_number":368,"context_line":"            domain_b_mappings_user \u003d [m.to_dict()"},{"line_number":369,"context_line":"                                      for m in domain_b_mappings_user]"},{"line_number":370,"context_line":"        self.assertItemsEqual(local_entities[-2:], domain_b_mappings_user)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_054c6cc7","line":370,"updated":"2018-07-13 21:34:40.000000000","message":"nit: we could make sure we\u0027re handling the group case by performing the same query with entity_type\u003dmapping.EntityType.GROUP just to ensure that works by returning the 3rd element in the list.\n\nThat would be pretty easy to add in a follow on though.\n\nhttps://review.openstack.org/#/c/582692/","commit_id":"4abd9926ab7fb79bbe86a22657a2474790a8fcb8"}],"releasenotes/notes/filter-mappings-by-entity-77162a146d375385.yaml":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"cecce6927f8e622bf5c2e75ce14af740a0fd7d2e","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    As this new call signature is already used in the ``identity.core``"},{"line_number":9,"context_line":"    module, authors/maintainers of out-of-tree custom mapping drivers"},{"line_number":10,"context_line":"    are expected to update their implementations of ``get_domain_mapping_list``"},{"line_number":11,"context_line":"    method accordingly."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_6547607c","line":11,"updated":"2018-07-13 21:34:40.000000000","message":"Very nice.. Thanks for adding this.","commit_id":"4abd9926ab7fb79bbe86a22657a2474790a8fcb8"}]}
