)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"5054ad092f7185008c42bb28cd929284785418dc","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix empty network deletion in db_base_plugin for postgesql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Need to desable joined loads for port query in delete_network"},{"line_number":10,"context_line":"as in other methods."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"No unit test is being added, because the problem is not reproducible with"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F8tXQ%3D","line":9,"updated":"2013-12-22 05:16:27.000000000","message":"nitpick\ns/desable/disable/","commit_id":"3cc28d08097c5be9c05222648549480e8637263c"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"83e3fdcfe1240dceb3526ba7cc6abccdec03e555","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix empty network deletion in db_base_plugin for postgesql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Need to desable joined loads for port query in delete_network"},{"line_number":10,"context_line":"as in other methods."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"No unit test is being added, because the problem is not reproducible with"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATn%2F8tWk%3D","line":9,"in_reply_to":"AAAATn%2F8tXQ%3D","updated":"2013-12-22 05:43:31.000000000","message":"Done","commit_id":"3cc28d08097c5be9c05222648549480e8637263c"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"0b4c76f51ab8b1252972ab72db29b768babddd2d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eugene Nikanorov \u003cenikanorov@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-12-23 10:09:49 +0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix empty network deletion in db_base_plugin for postgesql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Need to disable joined loads for port query in delete_network"},{"line_number":10,"context_line":"as in other methods."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAT3%2F%2Fxck%3D","line":7,"updated":"2014-01-01 18:18:31.000000000","message":"s/postgesql/postgresql","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"3cb506ca51fb69c53fdc1ea1ca90843b4dc84721","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eugene Nikanorov \u003cenikanorov@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-12-23 10:09:49 +0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix empty network deletion in db_base_plugin for postgesql"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Need to disable joined loads for port query in delete_network"},{"line_number":10,"context_line":"as in other methods."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAT3%2F%2FxbA%3D","line":7,"in_reply_to":"AAAAT3%2F%2Fxck%3D","updated":"2014-01-01 18:43:43.000000000","message":"Done","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"}],"neutron/db/db_base_plugin_v2.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"5a075739f8fa3d1af1b00ea8e5194a6856979e62","unresolved":false,"context_lines":[{"line_number":991,"context_line":""},{"line_number":992,"context_line":"            filters \u003d {\u0027network_id\u0027: [id]}"},{"line_number":993,"context_line":"            # NOTE(armando-migliaccio): stick with base plugin"},{"line_number":994,"context_line":"            query \u003d context.session.query("},{"line_number":995,"context_line":"                models_v2.Port).enable_eagerloads(False)"},{"line_number":996,"context_line":"            ports \u003d self._apply_filters_to_query("},{"line_number":997,"context_line":"                query, models_v2.Port, filters).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2F1Cc%3D","line":994,"updated":"2013-12-30 15:46:57.000000000","message":"by doing so you\u0027re bypassing the filters applied by method _model_query. Not entirely sure about the consequences but that does not sound like the right thing to do, especially as the code won\u0027t be very defensive if it was to being called directly from a plugin bypassing policy checks.","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8b181281a23e98b91d19acbf9a5bda60731156fd","unresolved":false,"context_lines":[{"line_number":991,"context_line":""},{"line_number":992,"context_line":"            filters \u003d {\u0027network_id\u0027: [id]}"},{"line_number":993,"context_line":"            # NOTE(armando-migliaccio): stick with base plugin"},{"line_number":994,"context_line":"            query \u003d context.session.query("},{"line_number":995,"context_line":"                models_v2.Port).enable_eagerloads(False)"},{"line_number":996,"context_line":"            ports \u003d self._apply_filters_to_query("},{"line_number":997,"context_line":"                query, models_v2.Port, filters).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2F0LM%3D","line":994,"in_reply_to":"AAAAT3%2F%2F0Yc%3D","updated":"2013-12-30 23:01:09.000000000","message":"Fair enough!","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"1ccf6abbc58f32fc523f5a40aac9fc3619bb4079","unresolved":false,"context_lines":[{"line_number":991,"context_line":""},{"line_number":992,"context_line":"            filters \u003d {\u0027network_id\u0027: [id]}"},{"line_number":993,"context_line":"            # NOTE(armando-migliaccio): stick with base plugin"},{"line_number":994,"context_line":"            query \u003d context.session.query("},{"line_number":995,"context_line":"                models_v2.Port).enable_eagerloads(False)"},{"line_number":996,"context_line":"            ports \u003d self._apply_filters_to_query("},{"line_number":997,"context_line":"                query, models_v2.Port, filters).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2F0Yc%3D","line":994,"in_reply_to":"AAAAT3%2F%2F0hw%3D","updated":"2013-12-30 21:30:30.000000000","message":"That\u0027s right. But actually we are interested in all ports when deleting the network, not only those belonging to the tenant (check in L1000)\nAlso, Port model doesn\u0027t have \u0027shared\u0027 attribute.\nDefinitely, _get_ports_query call is an overkill for the simple port enumeration. Not only it causes the issue with postgres, but also it fetches much more than actually needed.","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"13ccec2789e052e19eed54a4fda9064cd1a4c6d7","unresolved":false,"context_lines":[{"line_number":991,"context_line":""},{"line_number":992,"context_line":"            filters \u003d {\u0027network_id\u0027: [id]}"},{"line_number":993,"context_line":"            # NOTE(armando-migliaccio): stick with base plugin"},{"line_number":994,"context_line":"            query \u003d context.session.query("},{"line_number":995,"context_line":"                models_v2.Port).enable_eagerloads(False)"},{"line_number":996,"context_line":"            ports \u003d self._apply_filters_to_query("},{"line_number":997,"context_line":"                query, models_v2.Port, filters).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2F0hw%3D","line":994,"in_reply_to":"AAAAT3%2F%2F0wA%3D","updated":"2013-12-30 20:34:55.000000000","message":"If I understand the code correctly, _model_query is no longer called and things like tenant_id and the shared attributes are no longer applied in non-admin queries.","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"4025ce45ccd9c9a5eb05d8adfb5ba087a318ea3f","unresolved":false,"context_lines":[{"line_number":991,"context_line":""},{"line_number":992,"context_line":"            filters \u003d {\u0027network_id\u0027: [id]}"},{"line_number":993,"context_line":"            # NOTE(armando-migliaccio): stick with base plugin"},{"line_number":994,"context_line":"            query \u003d context.session.query("},{"line_number":995,"context_line":"                models_v2.Port).enable_eagerloads(False)"},{"line_number":996,"context_line":"            ports \u003d self._apply_filters_to_query("},{"line_number":997,"context_line":"                query, models_v2.Port, filters).with_lockmode(\u0027update\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAT3%2F%2F0wA%3D","line":994,"in_reply_to":"AAAAT3%2F%2F1Cc%3D","updated":"2013-12-30 18:33:29.000000000","message":"Armando, the filters are applied on the next line","commit_id":"1787e8a8d055f5c6d889b3fd3c1cb49d6be34b2d"}]}
