)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"152c52ca7e2b1772f68a3fef54590c5e093efd05","unresolved":false,"context_lines":[{"line_number":9,"context_line":"There is a bug in sqlalchemy with eventlet that doesn\u0027t allows us to use"},{"line_number":10,"context_line":"session.flush() without explicit transaction."},{"line_number":11,"context_line":"If somethings went worng in DB and rollback is called it will try to"},{"line_number":12,"context_line":"raise NullType."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"I found only one way to handle this situation."},{"line_number":15,"context_line":"We should create transaction explicit."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAM3%2F%2Fpb8%3D","line":12,"updated":"2013-01-11 04:20:02.000000000","message":"s/NullType/NoneType/","commit_id":"6d9b4f2b815b5ead430c435b709a1ec36d6424df"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"e2869d0d10862cf08479b9cf518e4198594812ad","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There is a bug in sqlalchemy with eventlet that doesn\u0027t allows us to use"},{"line_number":10,"context_line":"session.flush() without explicit transaction."},{"line_number":11,"context_line":"If somethings went worng in DB and rollback is called it will try to"},{"line_number":12,"context_line":"raise NoneType."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"I found only one way to handle this situation."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAM3%2F%2Foq0%3D","line":11,"updated":"2013-01-11 19:48:30.000000000","message":"worng\u003d\u003ewrong","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"e2869d0d10862cf08479b9cf518e4198594812ad","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"I found only one way to handle this situation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"f there is no session we are creating session."},{"line_number":17,"context_line":"If there is a running transaction is session we add to session object and make"},{"line_number":18,"context_line":"flush"},{"line_number":19,"context_line":"If there is no running transaction then we should create new transaction and"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAM3%2F%2Foqw%3D","line":16,"updated":"2013-01-11 19:48:30.000000000","message":"f\u003d\u003eIf","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c51d1ece67410aceeaf45346925ae42b1db4a8a8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"I found only one way to handle this situation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"f there is no session we are creating session."},{"line_number":17,"context_line":"If there is a running transaction is session we add to session object and make"},{"line_number":18,"context_line":"flush"},{"line_number":19,"context_line":"If there is no running transaction then we should create new transaction and"},{"line_number":20,"context_line":"make add and flush."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAM3%2F%2Fong%3D","line":17,"updated":"2013-01-11 20:03:01.000000000","message":"is \u003d\u003e in","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c51d1ece67410aceeaf45346925ae42b1db4a8a8","unresolved":false,"context_lines":[{"line_number":17,"context_line":"If there is a running transaction is session we add to session object and make"},{"line_number":18,"context_line":"flush"},{"line_number":19,"context_line":"If there is no running transaction then we should create new transaction and"},{"line_number":20,"context_line":"make add and flush."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Fixes bug 1098692"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAM3%2F%2FonA%3D","line":20,"updated":"2013-01-11 20:03:01.000000000","message":"and make add and flush\n\u003d\u003e\nand add to it, then flush","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c51d1ece67410aceeaf45346925ae42b1db4a8a8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        #                       session.flush()"},{"line_number":54,"context_line":"        #                 But there is a bug in sqlalchemy and eventlet that"},{"line_number":55,"context_line":"        #                 raises NoneType exception if there is no running"},{"line_number":56,"context_line":"        #                 transaction and rollback is called. Until sqlalchemy"},{"line_number":57,"context_line":"        #                 has this bug we have to create transaction explicity."},{"line_number":58,"context_line":"        if session.is_active:"},{"line_number":59,"context_line":"            session.add(self)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Fomw%3D","line":56,"updated":"2013-01-11 20:03:01.000000000","message":"Until \u003d\u003e As long as","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"c51d1ece67410aceeaf45346925ae42b1db4a8a8","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        #                 raises NoneType exception if there is no running"},{"line_number":56,"context_line":"        #                 transaction and rollback is called. Until sqlalchemy"},{"line_number":57,"context_line":"        #                 has this bug we have to create transaction explicity."},{"line_number":58,"context_line":"        if session.is_active:"},{"line_number":59,"context_line":"            session.add(self)"},{"line_number":60,"context_line":"            session.flush()"},{"line_number":61,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FomY%3D","line":58,"updated":"2013-01-11 20:03:01.000000000","message":"Actually, I don\u0027t think \"session.is_active\" does what you think it does. According to SQLAlchemy inline docs, this does not indicate that a transaction is active.","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f1d7a66acf769a6279acb58b3af482cd0a03ba4d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        #                 raises NoneType exception if there is no running"},{"line_number":56,"context_line":"        #                 transaction and rollback is called. Until sqlalchemy"},{"line_number":57,"context_line":"        #                 has this bug we have to create transaction explicity."},{"line_number":58,"context_line":"        if session.is_active:"},{"line_number":59,"context_line":"            session.add(self)"},{"line_number":60,"context_line":"            session.flush()"},{"line_number":61,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FojM%3D","line":58,"in_reply_to":"AAAAM3%2F%2FomY%3D","updated":"2013-01-11 20:24:16.000000000","message":"Oh.. Yes I will try to find something better..","commit_id":"adcb4017aab4c0d0b45978983157c128cfb6c224"}]}
