)]}'
{"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"73dc37d43ca52916d24ef04b94c57a4928982474","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                            mech_context)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"                        record \u003d self._get_network(context, id)"},{"line_number":415,"context_line":"                        LOG.debug(_(\"Deleting network record %s\"), record)"},{"line_number":416,"context_line":"                        session.delete(record)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"                        for segment in mech_context.network_segments:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRW4%3D","line":415,"updated":"2013-11-11 23:40:11.000000000","message":"perhaps just the id of the network is enough here?","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"71d1650496fed60e6cc528d4543a73d997bfaf10","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                            mech_context)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"                        record \u003d self._get_network(context, id)"},{"line_number":415,"context_line":"                        LOG.debug(_(\"Deleting network record %s\"), record)"},{"line_number":416,"context_line":"                        session.delete(record)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"                        for segment in mech_context.network_segments:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRQg%3D","line":415,"in_reply_to":"AAAATn%2F%2FRRI%3D","updated":"2013-11-12 00:36:48.000000000","message":"ok makes sense; it was just for the S/N ratio on the logs","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c109bb19c25ffaf13590a0fd81404b908efcd62e","unresolved":false,"context_lines":[{"line_number":412,"context_line":"                            mech_context)"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"                        record \u003d self._get_network(context, id)"},{"line_number":415,"context_line":"                        LOG.debug(_(\"Deleting network record %s\"), record)"},{"line_number":416,"context_line":"                        session.delete(record)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"                        for segment in mech_context.network_segments:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRRI%3D","line":415,"in_reply_to":"AAAATn%2F%2FRW4%3D","updated":"2013-11-12 00:23:16.000000000","message":"I wanted to see info like tenant id too.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"73dc37d43ca52916d24ef04b94c57a4928982474","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                        # The segment records are deleted via cascade from the"},{"line_number":422,"context_line":"                        # network record, so explicit removal is not necessary."},{"line_number":423,"context_line":"                        LOG.debug(_(\"Committing transaction\"))"},{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRWM%3D","line":424,"updated":"2013-11-11 23:40:11.000000000","message":"given your changes - do you reckon we still need the awkward while loop and the break statement?","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":6316,"name":"Anita Kuno","email":"anteaya@anteaya.info","username":"anteaya"},"change_message_id":"cfda167bb088d42065124ddbcddb91cc12f1b9d7","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                        # The segment records are deleted via cascade from the"},{"line_number":422,"context_line":"                        # network record, so explicit removal is not necessary."},{"line_number":423,"context_line":"                        LOG.debug(_(\"Committing transaction\"))"},{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRPI%3D","line":424,"in_reply_to":"AAAATn%2F%2FRQ4%3D","updated":"2013-11-12 00:37:28.000000000","message":"Rather than waiting, let\u0027s see a patch without the loop. Then if we don\u0027t like that approach we can go back to an earlier patchset and work off of that.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"71d1650496fed60e6cc528d4543a73d997bfaf10","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                        # The segment records are deleted via cascade from the"},{"line_number":422,"context_line":"                        # network record, so explicit removal is not necessary."},{"line_number":423,"context_line":"                        LOG.debug(_(\"Committing transaction\"))"},{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRQc%3D","line":424,"in_reply_to":"AAAATn%2F%2FRQ4%3D","updated":"2013-11-12 00:36:48.000000000","message":"ok","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c109bb19c25ffaf13590a0fd81404b908efcd62e","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                        # The segment records are deleted via cascade from the"},{"line_number":422,"context_line":"                        # network record, so explicit removal is not necessary."},{"line_number":423,"context_line":"                        LOG.debug(_(\"Committing transaction\"))"},{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRQ4%3D","line":424,"in_reply_to":"AAAATn%2F%2FRWM%3D","updated":"2013-11-12 00:23:16.000000000","message":"I leave Bob to answer that question. I don\u0027t like the while true either, but I didn\u0027t want to be too invasive here either.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"73dc37d43ca52916d24ef04b94c57a4928982474","unresolved":false,"context_lines":[{"line_number":423,"context_line":"                        LOG.debug(_(\"Committing transaction\"))"},{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"},{"line_number":428,"context_line":"                    LOG.exception(msg)"},{"line_number":429,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRWs%3D","line":426,"updated":"2013-11-11 23:40:11.000000000","message":"It\u0027s interesting to understand in which case this happens since the ports table has been locked at the beginning of this transaction.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c109bb19c25ffaf13590a0fd81404b908efcd62e","unresolved":false,"context_lines":[{"line_number":423,"context_line":"                        LOG.debug(_(\"Committing transaction\"))"},{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"},{"line_number":428,"context_line":"                    LOG.exception(msg)"},{"line_number":429,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRQ0%3D","line":426,"in_reply_to":"AAAATn%2F%2FRWs%3D","updated":"2013-11-12 00:23:16.000000000","message":"No, the lock is at a row level.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"73dc37d43ca52916d24ef04b94c57a4928982474","unresolved":false,"context_lines":[{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"},{"line_number":428,"context_line":"                    LOG.exception(msg)"},{"line_number":429,"context_line":"                    continue"},{"line_number":430,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRXE%3D","line":427,"updated":"2013-11-11 23:40:11.000000000","message":"for debug purposes I would log also the inner exception message - assuming that\u0027s not already done, somehow.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"c109bb19c25ffaf13590a0fd81404b908efcd62e","unresolved":false,"context_lines":[{"line_number":424,"context_line":"                        break"},{"line_number":425,"context_line":"            except os_db.exception.DBError, e:"},{"line_number":426,"context_line":"                if isinstance(e.inner_exception, sql_exc.IntegrityError):"},{"line_number":427,"context_line":"                    msg \u003d _(\"A concurrent port creation has occurred\")"},{"line_number":428,"context_line":"                    LOG.exception(msg)"},{"line_number":429,"context_line":"                    continue"},{"line_number":430,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2FRQw%3D","line":427,"in_reply_to":"AAAATn%2F%2FRXE%3D","updated":"2013-11-12 00:23:16.000000000","message":"It is, LOG.exception does print the exception trace.","commit_id":"3dbb5afb823c7b79a87fe709d5e3f7cc28574817"}]}
