)]}'
{"cinder/db/api.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"fed2cdee7684582912f6d074e5b360fbf4001194","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    return IMPL.service_get(context, service_id)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def service_get_by_host_and_topic(context, host, topic, deleted\u003dFalse):"},{"line_number":105,"context_line":"    \"\"\"Get a service by host it\u0027s on and topic it listens to.\"\"\""},{"line_number":106,"context_line":"    return IMPL.service_get_by_host_and_topic(context, host, topic, deleted)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_a8612d07","line":104,"range":{"start_line":104,"start_character":56,"end_line":104,"end_character":63},"updated":"2016-03-01 10:47:08.000000000","message":"I believe this should be \"disabled\u003dFalse\". I think default value should be False, as we don\u0027t want to change the current behavior.","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8d8b0da4dd7f95e42437db11509f51614b782269","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    return IMPL.service_get(context, service_id)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def service_get_by_host_and_topic(context, host, topic, deleted\u003dFalse):"},{"line_number":105,"context_line":"    \"\"\"Get a service by host it\u0027s on and topic it listens to.\"\"\""},{"line_number":106,"context_line":"    return IMPL.service_get_by_host_and_topic(context, host, topic, deleted)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_6220959c","line":104,"range":{"start_line":104,"start_character":56,"end_line":104,"end_character":63},"in_reply_to":"7af24918_c6bee4fe","updated":"2016-03-01 17:07:01.000000000","message":"Yes, sorry for confusing you. Again I need not to think aloud in inline comments…","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"8a92fd090c60c10be4a89f31acfd0e5f20a5b27d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    return IMPL.service_get(context, service_id)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"def service_get_by_host_and_topic(context, host, topic, deleted\u003dFalse):"},{"line_number":105,"context_line":"    \"\"\"Get a service by host it\u0027s on and topic it listens to.\"\"\""},{"line_number":106,"context_line":"    return IMPL.service_get_by_host_and_topic(context, host, topic, deleted)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_c6bee4fe","line":104,"range":{"start_line":104,"start_character":56,"end_line":104,"end_character":63},"in_reply_to":"9aed3d3a_a8612d07","updated":"2016-03-01 15:53:55.000000000","message":"What am I missing?  Yes, I need to fix the name; but my eyes indicate that the default is in fact False here.  What am I missing?","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"}],"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"fed2cdee7684582912f6d074e5b360fbf4001194","unresolved":false,"context_lines":[{"line_number":419,"context_line":""},{"line_number":420,"context_line":"@require_admin_context"},{"line_number":421,"context_line":"def service_get_by_host_and_topic(context, host, topic, deleted):"},{"line_number":422,"context_line":"    if deleted:"},{"line_number":423,"context_line":"        read_deleted\u003d\"yes\""},{"line_number":424,"context_line":"    else:"},{"line_number":425,"context_line":"        read_deleted\u003d\"no\""},{"line_number":426,"context_line":"    result \u003d model_query("},{"line_number":427,"context_line":"        context, models.Service, read_deleted\u003dread_deleted).\\"},{"line_number":428,"context_line":"        filter_by(disabled\u003dFalse).\\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_686c4508","line":425,"range":{"start_line":422,"start_character":0,"end_line":425,"end_character":25},"updated":"2016-03-01 10:47:08.000000000","message":"Ah, I agree with Lisa. When service is disabled it\u0027s not deleted from the DB.","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"1d4b50b3ee897d02cbbb6f11de652db32c9c1e40","unresolved":false,"context_lines":[{"line_number":422,"context_line":"    if deleted:"},{"line_number":423,"context_line":"        read_deleted\u003d\"yes\""},{"line_number":424,"context_line":"    else:"},{"line_number":425,"context_line":"        read_deleted\u003d\"no\""},{"line_number":426,"context_line":"    result \u003d model_query("},{"line_number":427,"context_line":"        context, models.Service, read_deleted\u003dread_deleted).\\"},{"line_number":428,"context_line":"        filter_by(disabled\u003dFalse).\\"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_5a6cac9b","line":425,"updated":"2016-03-01 07:29:45.000000000","message":"Seems this doesn\u0027t match with the behavior you described in commit message. \n\nTo get services including disabled service, but in following query, it has \u0027disabled\u003dFalse\u0027.","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"fed2cdee7684582912f6d074e5b360fbf4001194","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        read_deleted\u003d\"no\""},{"line_number":426,"context_line":"    result \u003d model_query("},{"line_number":427,"context_line":"        context, models.Service, read_deleted\u003dread_deleted).\\"},{"line_number":428,"context_line":"        filter_by(disabled\u003dFalse).\\"},{"line_number":429,"context_line":"        filter_by(host\u003dhost).\\"},{"line_number":430,"context_line":"        filter_by(topic\u003dtopic).\\"},{"line_number":431,"context_line":"        first()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_535ad2f2","line":428,"range":{"start_line":428,"start_character":8,"end_line":428,"end_character":35},"updated":"2016-03-01 10:47:08.000000000","message":"So to implement it correctly I think method should look like:\n\n @require_admin_context\n def service_get_by_host_and_topic(context, host, topic, disabled\u003dFalse):\n     query \u003d model_query(\n         context, models.Service, read_deleted\u003d\"no\").\\\n         filter_by(host\u003dhost).\\\n         filter_by(topic\u003dtopic)\n\n     if disabled is not None:\n         query \u003d query.filter_by(disabled\u003ddisabled)\n\n     query.first()\n\n     if not result:\n         raise exception.ServiceNotFound(service_id\u003dNone)\n     return result","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"}],"cinder/objects/service.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"fed2cdee7684582912f6d074e5b360fbf4001194","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        return service"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @base.remotable_classmethod"},{"line_number":81,"context_line":"    def get_by_host_and_topic(cls, context, host, topic, deleted\u003dFalse):"},{"line_number":82,"context_line":"        db_service \u003d db.service_get_by_host_and_topic(context,"},{"line_number":83,"context_line":"                                                      host,"},{"line_number":84,"context_line":"                                                      topic,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_338bce20","line":81,"range":{"start_line":81,"start_character":57,"end_line":81,"end_character":64},"updated":"2016-03-01 10:47:08.000000000","message":"This should be \"disabled\".","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"fed2cdee7684582912f6d074e5b360fbf4001194","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        db_service \u003d db.service_get_by_host_and_topic(context,"},{"line_number":83,"context_line":"                                                      host,"},{"line_number":84,"context_line":"                                                      topic,"},{"line_number":85,"context_line":"                                                      deleted\u003dFalse)"},{"line_number":86,"context_line":"        return cls._from_db_object(context, cls(context), db_service)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @base.remotable_classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_9393ba5a","line":85,"range":{"start_line":85,"start_character":54,"end_line":85,"end_character":67},"updated":"2016-03-01 10:47:08.000000000","message":"This will set deleted to False regardless of its value, which is clearly wrong.","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"8a92fd090c60c10be4a89f31acfd0e5f20a5b27d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        db_service \u003d db.service_get_by_host_and_topic(context,"},{"line_number":83,"context_line":"                                                      host,"},{"line_number":84,"context_line":"                                                      topic,"},{"line_number":85,"context_line":"                                                      deleted\u003dFalse)"},{"line_number":86,"context_line":"        return cls._from_db_object(context, cls(context), db_service)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @base.remotable_classmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"7af24918_e1782a92","line":85,"range":{"start_line":85,"start_character":54,"end_line":85,"end_character":67},"in_reply_to":"9aed3d3a_9393ba5a","updated":"2016-03-01 15:53:55.000000000","message":"clearly!","commit_id":"aa910b19fc7aa8b9f4a19002087fd9d71be89ca9"}]}
