)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"25fa8b45c53a4cae78436c61573bb2e8e4aeee79","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenke \u003cchen.ke14@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-19 10:41:20 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_4ec17480","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":40},"updated":"2019-03-20 03:53:45.000000000","message":"nit: extra space","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8c16e6d5404c174a46de9f69dfd6d1d27a3c121d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenke \u003cchen.ke14@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-19 10:41:20 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_09a7e651","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":40},"in_reply_to":"5fc1f717_4ec17480","updated":"2019-03-20 06:10:08.000000000","message":"Done","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"416dc644e37abd4cf18756ccc280f3f7354401d2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     chenke \u003cchen.ke14@zte.com.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-03-19 10:41:20 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_0e736c4f","line":7,"range":{"start_line":7,"start_character":39,"end_line":7,"end_character":40},"in_reply_to":"5fc1f717_4ec17480","updated":"2019-03-20 03:59:51.000000000","message":"ok","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"25fa8b45c53a4cae78436c61573bb2e8e4aeee79","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_eebdc002","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"updated":"2019-03-20 03:53:45.000000000","message":"why do we need this depends-on","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"006d5f4070c6cda0e290ae3a01b5fbb4f82cee35","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_6e39d0f0","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"in_reply_to":"5fc1f717_0ec12c2f","updated":"2019-03-20 04:46:56.000000000","message":"I didn\u0027t add depends-on when i first submitted, but zuul gave an error, so I added depends-on.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"1b1d5511ca6f90f4f91913ce556d9448f9ce1769","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_d11188ae","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"in_reply_to":"5fc1f717_49adee2f","updated":"2019-03-20 06:59:32.000000000","message":"Got it. I guess rebase the patch after https://review.openstack.org/#/c/643874 is merged will be a better idea?","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"d6cf37a20eb7c9c01cc19770cfd257ce062b5b82","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_0ec12c2f","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"in_reply_to":"5fc1f717_4e79742d","updated":"2019-03-20 04:08:06.000000000","message":"IMO, the depends-on only works for cross-project dependencies, i.e., it\u0027s invalid here.\nBTW, as I commented in https://review.openstack.org/#/c/643874/, I guess it is fs/OS dependent, which means it\u0027ll fail on your local host but will not necessarily fail the zuul check.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8c16e6d5404c174a46de9f69dfd6d1d27a3c121d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_49adee2f","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"in_reply_to":"5fc1f717_6e39d0f0","updated":"2019-03-20 06:10:08.000000000","message":"In this patch, Zuul can pass. I have deleted depends-on.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"439d8276084c41fe33f27080df4c9d842c23cde2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_57eca8f2","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"in_reply_to":"5fc1f717_d11188ae","updated":"2019-03-20 09:13:18.000000000","message":"yes, after https://review.openstack.org/#/c/643874/ is merged, we just need to update this commit message to remove depends-on.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"416dc644e37abd4cf18756ccc280f3f7354401d2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add the params default value for method  _paginate_query()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.openstack.org/#/c/643874"},{"line_number":10,"context_line":"Change-Id: I6682c0de0bc5513d73aa0204ff6e66f747c005cf"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5fc1f717_4e79742d","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"in_reply_to":"5fc1f717_eebdc002","updated":"2019-03-20 03:59:51.000000000","message":"If it does not depends-on https://review.openstack.org/#/c/643874, it will report py27 error due to that problem.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"}],"cyborg/db/sqlalchemy/api.py":[{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"25fa8b45c53a4cae78436c61573bb2e8e4aeee79","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"SQLAlchemy storage backend.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import copy"},{"line_number":19,"context_line":"import threading"},{"line_number":20,"context_line":"import uuid"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_db import api as oslo_db_api"},{"line_number":23,"context_line":"from oslo_db import exception as db_exc"},{"line_number":24,"context_line":"from oslo_db.sqlalchemy import enginefacade"},{"line_number":25,"context_line":"from oslo_db.sqlalchemy import utils as sqlalchemyutils"},{"line_number":26,"context_line":"from oslo_log import log"},{"line_number":27,"context_line":"from oslo_utils import strutils"},{"line_number":28,"context_line":"from oslo_utils import timeutils"},{"line_number":29,"context_line":"from oslo_utils import uuidutils"},{"line_number":30,"context_line":"from sqlalchemy.orm.exc import NoResultFound"},{"line_number":31,"context_line":"from sqlalchemy.orm import load_only"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from cyborg.common import exception"},{"line_number":35,"context_line":"from cyborg.common.i18n import _"},{"line_number":36,"context_line":"from cyborg.db import api"},{"line_number":37,"context_line":"from cyborg.db.sqlalchemy import models"},{"line_number":38,"context_line":"from sqlalchemy import and_"},{"line_number":39,"context_line":"from sqlalchemy import or_"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"_CONTEXT \u003d threading.local()"},{"line_number":42,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8e443c1d","line":39,"range":{"start_line":18,"start_character":0,"end_line":39,"end_character":26},"updated":"2019-03-20 03:53:45.000000000","message":"seems not relevant to the patch description; can\u0027t the incorrect import order be detected by pep8?","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"006d5f4070c6cda0e290ae3a01b5fbb4f82cee35","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"SQLAlchemy storage backend.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import copy"},{"line_number":19,"context_line":"import threading"},{"line_number":20,"context_line":"import uuid"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_db import api as oslo_db_api"},{"line_number":23,"context_line":"from oslo_db import exception as db_exc"},{"line_number":24,"context_line":"from oslo_db.sqlalchemy import enginefacade"},{"line_number":25,"context_line":"from oslo_db.sqlalchemy import utils as sqlalchemyutils"},{"line_number":26,"context_line":"from oslo_log import log"},{"line_number":27,"context_line":"from oslo_utils import strutils"},{"line_number":28,"context_line":"from oslo_utils import timeutils"},{"line_number":29,"context_line":"from oslo_utils import uuidutils"},{"line_number":30,"context_line":"from sqlalchemy.orm.exc import NoResultFound"},{"line_number":31,"context_line":"from sqlalchemy.orm import load_only"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from cyborg.common import exception"},{"line_number":35,"context_line":"from cyborg.common.i18n import _"},{"line_number":36,"context_line":"from cyborg.db import api"},{"line_number":37,"context_line":"from cyborg.db.sqlalchemy import models"},{"line_number":38,"context_line":"from sqlalchemy import and_"},{"line_number":39,"context_line":"from sqlalchemy import or_"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"_CONTEXT \u003d threading.local()"},{"line_number":42,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8eb51cd0","line":39,"range":{"start_line":18,"start_character":0,"end_line":39,"end_character":26},"in_reply_to":"5fc1f717_8e443c1d","updated":"2019-03-20 04:46:56.000000000","message":"Util now, this error \"H306 imports not in alphabetical order\" cannot be detected by pep8. I will update the patch description.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"25fa8b45c53a4cae78436c61573bb2e8e4aeee79","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        raise exception.InvalidIdentity(identity\u003dvalue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"def _paginate_query(context, model, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"},{"line_number":109,"context_line":"                    sort_dir\u003dNone, query\u003dNone):"},{"line_number":110,"context_line":"    sort_keys \u003d [\u0027id\u0027]"},{"line_number":111,"context_line":"    if sort_key and sort_key not in sort_keys:"},{"line_number":112,"context_line":"        sort_keys.insert(0, sort_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8eb99cea","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"updated":"2019-03-20 03:53:45.000000000","message":"Why do we need to pass query into it, as we\u0027ve already had model passed in?\nWe can get the query inside this function.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"a170917fb193c69de03719583899e7520e2448d9","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        raise exception.InvalidIdentity(identity\u003dvalue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"def _paginate_query(context, model, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"},{"line_number":109,"context_line":"                    sort_dir\u003dNone, query\u003dNone):"},{"line_number":110,"context_line":"    sort_keys \u003d [\u0027id\u0027]"},{"line_number":111,"context_line":"    if sort_key and sort_key not in sort_keys:"},{"line_number":112,"context_line":"        sort_keys.insert(0, sort_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_28308407","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"in_reply_to":"5fc1f717_17c06050","updated":"2019-03-21 02:37:08.000000000","message":"Kailun\u0027s point is valid. But:\n* The previous Cyborg code already has query parameter.\n* sqlalchemyutils.paginate_query() also takes both model and query as parameters.\nSo, I think we have prior precedent.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"1b1d5511ca6f90f4f91913ce556d9448f9ce1769","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        raise exception.InvalidIdentity(identity\u003dvalue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"def _paginate_query(context, model, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"},{"line_number":109,"context_line":"                    sort_dir\u003dNone, query\u003dNone):"},{"line_number":110,"context_line":"    sort_keys \u003d [\u0027id\u0027]"},{"line_number":111,"context_line":"    if sort_key and sort_key not in sort_keys:"},{"line_number":112,"context_line":"        sort_keys.insert(0, sort_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_b1339c62","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"in_reply_to":"5fc1f717_8e499c8c","updated":"2019-03-20 06:59:32.000000000","message":"Yes, but my point is to get the query from the model (already) passed in within this method, e.g. by using query \n \u003d model_query(context, model).","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"006d5f4070c6cda0e290ae3a01b5fbb4f82cee35","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        raise exception.InvalidIdentity(identity\u003dvalue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"def _paginate_query(context, model, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"},{"line_number":109,"context_line":"                    sort_dir\u003dNone, query\u003dNone):"},{"line_number":110,"context_line":"    sort_keys \u003d [\u0027id\u0027]"},{"line_number":111,"context_line":"    if sort_key and sort_key not in sort_keys:"},{"line_number":112,"context_line":"        sort_keys.insert(0, sort_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8e499c8c","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"in_reply_to":"5fc1f717_8eb99cea","updated":"2019-03-20 04:46:56.000000000","message":"In line 114, it need to use query parameter, so we to pass query into it.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"439d8276084c41fe33f27080df4c9d842c23cde2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        raise exception.InvalidIdentity(identity\u003dvalue)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"def _paginate_query(context, model, limit\u003dNone, marker\u003dNone, sort_key\u003dNone,"},{"line_number":109,"context_line":"                    sort_dir\u003dNone, query\u003dNone):"},{"line_number":110,"context_line":"    sort_keys \u003d [\u0027id\u0027]"},{"line_number":111,"context_line":"    if sort_key and sort_key not in sort_keys:"},{"line_number":112,"context_line":"        sort_keys.insert(0, sort_key)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_17c06050","line":109,"range":{"start_line":108,"start_character":0,"end_line":109,"end_character":47},"in_reply_to":"5fc1f717_b1339c62","updated":"2019-03-20 09:13:18.000000000","message":"yes, i understand your mind. But I think this is more clear.","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"006d5f4070c6cda0e290ae3a01b5fbb4f82cee35","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    if sort_key and sort_key not in sort_keys:"},{"line_number":112,"context_line":"        sort_keys.insert(0, sort_key)"},{"line_number":113,"context_line":"    try:"},{"line_number":114,"context_line":"        query \u003d sqlalchemyutils.paginate_query(query, model, limit, sort_keys,"},{"line_number":115,"context_line":"                                               marker\u003dmarker,"},{"line_number":116,"context_line":"                                               sort_dir\u003dsort_dir)"},{"line_number":117,"context_line":"    except db_exc.InvalidSortKey:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_2e5e6845","line":114,"range":{"start_line":114,"start_character":47,"end_line":114,"end_character":52},"updated":"2019-03-20 04:46:56.000000000","message":"here","commit_id":"5759d8babe1ca3127005b5bb38a0b5b7053f0fe0"}]}
