)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-06-26 21:07:05 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"dependency: serialize dependency calculation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I11f75679837d8ac3998aa1ee8e2cb26866f342ae"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5f201791_66ecca8e","line":8,"updated":"2017-06-27 06:50:15.000000000","message":"It is better you describe a bit about how this patch solves the problem mentioned in the title.","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"}],"networking_odl/db/db.py":[{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"def dependency_calculation_start(session):"},{"line_number":161,"context_line":"    try:"},{"line_number":162,"context_line":"        return session.query("},{"line_number":163,"context_line":"            models.OpendaylightJournalDependencyHelper).filter_by("},{"line_number":164,"context_line":"            id\u003dmodels.HELPER_ID).one()"},{"line_number":165,"context_line":"    except orm_exc.NoResultFound:"},{"line_number":166,"context_line":"        pass"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    try:"},{"line_number":169,"context_line":"        row \u003d models.OpendaylightJournalDependencyHelper("},{"line_number":170,"context_line":"            id\u003dmodels.HELPER_ID, dummy\u003d0)"},{"line_number":171,"context_line":"        session.add(row)"},{"line_number":172,"context_line":"        session.flush()"},{"line_number":173,"context_line":"    except exc.IntegrityError:"},{"line_number":174,"context_line":"        # duplicated error"},{"line_number":175,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f201791_eba663ab","line":172,"range":{"start_line":161,"start_character":1,"end_line":172,"end_character":23},"updated":"2017-06-27 06:50:15.000000000","message":"I think, this table is going to have only one entry and that entry is being added during migration. Then why it has been checked here and insert and again fetch.","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            id\u003dmodels.HELPER_ID, dummy\u003d0)"},{"line_number":171,"context_line":"        session.add(row)"},{"line_number":172,"context_line":"        session.flush()"},{"line_number":173,"context_line":"    except exc.IntegrityError:"},{"line_number":174,"context_line":"        # duplicated error"},{"line_number":175,"context_line":"        pass"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f201791_0bc75f66","line":173,"updated":"2017-06-27 06:50:15.000000000","message":"Use following exception for Duplicate entry\n\nhttps://github.com/openstack/oslo.db/blob/master/oslo_db/exception.py#L66","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        session.flush()"},{"line_number":173,"context_line":"    except exc.IntegrityError:"},{"line_number":174,"context_line":"        # duplicated error"},{"line_number":175,"context_line":"        pass"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    return session.query("},{"line_number":178,"context_line":"        models.OpendaylightJournalDependencyHelper).filter_by("}],"source_content_type":"text/x-python","patch_set":8,"id":"5f201791_2b269b16","line":175,"range":{"start_line":175,"start_character":0,"end_line":175,"end_character":12},"updated":"2017-06-27 06:50:15.000000000","message":"I think row can not be duplicate because if row had already been there then we won\u0027t be at this block of code. This method had already been returned at L162.","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"},{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"def dependency_calculation_done(session, helper):"},{"line_number":183,"context_line":"    helper.dummy +\u003d 1"},{"line_number":184,"context_line":"    session.merge(helper)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f201791_c6903e46","line":183,"range":{"start_line":183,"start_character":0,"end_line":183,"end_character":21},"updated":"2017-06-27 06:50:15.000000000","message":"i think, we can use some cyclic values for example\n\nhelper.dummy \u003d (helper.dummy + 1) % \u003cSOME VALUE\u003e\n\nall that matter is, field is updated and version is increased which makes other copies invalid and concurrency can be achieved.","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"}],"networking_odl/db/migration/alembic_migrations/versions/pike/expand/81fd9e6ea0a1_helper_table_for_depdnecy_calculation.py":[{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":36,"context_line":"def upgrade():"},{"line_number":37,"context_line":"    helper_table \u003d op.create_table("},{"line_number":38,"context_line":"        \u0027opendaylight_journal_dependency_helper\u0027,"},{"line_number":39,"context_line":"        sa.Column(\u0027id\u0027, sa.String(36), nullable\u003dFalse, primary_key\u003dTrue),"},{"line_number":40,"context_line":"        sa.Column(\u0027dummy\u0027, sa.Integer(), nullable\u003dFalse),"},{"line_number":41,"context_line":"        sa.Column(\u0027version_id\u0027, sa.Integer(), nullable\u003dFalse,"},{"line_number":42,"context_line":"                  server_default\u003d\u00270\u0027))"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f201791_ab374bff","line":39,"range":{"start_line":39,"start_character":39,"end_line":39,"end_character":53},"updated":"2017-06-27 06:50:15.000000000","message":"is this required with primary key?","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"}],"networking_odl/journal/journal.py":[{"author":{"_account_id":13912,"name":"rajiv","email":"thenakliman@gmail.com","username":"rajiv.kumar"},"change_message_id":"6a3018b1506c596ded250c889e733b06ef3b1059","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        session, operation, object_type, object_uuid, data)"},{"line_number":92,"context_line":"    db.create_pending_row(session, object_type, object_uuid,"},{"line_number":93,"context_line":"                          operation, data, depending_on\u003ddepending_on)"},{"line_number":94,"context_line":"    db.dependency_calculation_done(session, helper)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"class OpendaylightJournalThread(object):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f201791_a668a21c","line":94,"updated":"2017-06-27 06:50:15.000000000","message":"I think, database will raise an exception of \"StaleDataError\" if version has increased from what is stored in local memory. So we will have to handle somewhere.","commit_id":"e0f8466262867317a9daec3e1c24b39b8327ab41"}]}
