)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"92d316a21c59bdce11f2cd2b7de3d2b5886c678b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7aa08908_d8dadbe8","updated":"2016-06-17 00:52:57.000000000","message":"NIT: also let\u0027s start all sentences from capitalized letter. \u003d)","commit_id":"173e8f293be1fa36fa2044a9d663fb875fff5d0f"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"8081d45465604f30c90d471138200bb5562b53ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7aa08908_f5fb5545","in_reply_to":"7aa08908_d8dadbe8","updated":"2016-06-17 07:06:59.000000000","message":"Done","commit_id":"173e8f293be1fa36fa2044a9d663fb875fff5d0f"},{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"92d316a21c59bdce11f2cd2b7de3d2b5886c678b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"(redis)Fix the 503 error when get/delete messages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"zaqar will return 503 in these two cases with redis backend:"},{"line_number":10,"context_line":"1. delete a message from a nonexistent queue."},{"line_number":11,"context_line":"2. delete messages with ids from a nonexistent queue."},{"line_number":12,"context_line":"3. get messages with ids from a nonexistent queue."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_7837674d","line":9,"range":{"start_line":9,"start_character":31,"end_line":9,"end_character":40},"updated":"2016-06-17 00:52:57.000000000","message":"But three cases are listed. You should either change \"two cases\" to \"three cases\" or remove one of the cases.","commit_id":"173e8f293be1fa36fa2044a9d663fb875fff5d0f"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"8081d45465604f30c90d471138200bb5562b53ec","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"(redis)Fix the 503 error when get/delete messages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"zaqar will return 503 in these two cases with redis backend:"},{"line_number":10,"context_line":"1. delete a message from a nonexistent queue."},{"line_number":11,"context_line":"2. delete messages with ids from a nonexistent queue."},{"line_number":12,"context_line":"3. get messages with ids from a nonexistent queue."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_95fc9140","line":9,"range":{"start_line":9,"start_character":31,"end_line":9,"end_character":40},"in_reply_to":"7aa08908_7837674d","updated":"2016-06-17 07:06:59.000000000","message":"Done","commit_id":"173e8f293be1fa36fa2044a9d663fb875fff5d0f"},{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"92d316a21c59bdce11f2cd2b7de3d2b5886c678b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"(redis)Fix the 503 error when get/delete messages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"zaqar will return 503 in these two cases with redis backend:"},{"line_number":10,"context_line":"1. delete a message from a nonexistent queue."},{"line_number":11,"context_line":"2. delete messages with ids from a nonexistent queue."},{"line_number":12,"context_line":"3. get messages with ids from a nonexistent queue."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_3814bf9d","line":10,"range":{"start_line":10,"start_character":3,"end_line":10,"end_character":45},"updated":"2016-06-17 00:52:57.000000000","message":"How the case \"1.\" is different from \"2.\"?","commit_id":"173e8f293be1fa36fa2044a9d663fb875fff5d0f"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"8081d45465604f30c90d471138200bb5562b53ec","unresolved":false,"context_lines":[{"line_number":7,"context_line":"(redis)Fix the 503 error when get/delete messages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"zaqar will return 503 in these two cases with redis backend:"},{"line_number":10,"context_line":"1. delete a message from a nonexistent queue."},{"line_number":11,"context_line":"2. delete messages with ids from a nonexistent queue."},{"line_number":12,"context_line":"3. get messages with ids from a nonexistent queue."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7aa08908_b501cd3b","line":10,"range":{"start_line":10,"start_character":3,"end_line":10,"end_character":45},"in_reply_to":"7aa08908_3814bf9d","updated":"2016-06-17 07:06:59.000000000","message":"Done","commit_id":"173e8f293be1fa36fa2044a9d663fb875fff5d0f"},{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"d305b02fabc841d1eb7478dfb471c3e4e2de8075","unresolved":false,"context_lines":[{"line_number":12,"context_line":"2. Delete messages with ids from a nonexistent queue."},{"line_number":13,"context_line":"DELETE /v2/queues/{queue_name}/messages?ids\u003d{message_ids}"},{"line_number":14,"context_line":"3. Get messages with ids from a nonexistent queue."},{"line_number":15,"context_line":"GET    /v2/queues/{queue_name}/messages?ids\u003d{messag_ids}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"With mongoDB, zaqar will return 204, 204 and 404. This patch"},{"line_number":18,"context_line":"fixed it to keep the same with mongoDB backend."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3aaa91ec_7ba1af93","line":15,"range":{"start_line":15,"start_character":45,"end_line":15,"end_character":55},"updated":"2016-06-25 20:06:23.000000000","message":"s/messag_ids/message_ids","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ac4b484895598c81a40f09ca12c0fc2bfb5bb455","unresolved":false,"context_lines":[{"line_number":12,"context_line":"2. Delete messages with ids from a nonexistent queue."},{"line_number":13,"context_line":"DELETE /v2/queues/{queue_name}/messages?ids\u003d{message_ids}"},{"line_number":14,"context_line":"3. Get messages with ids from a nonexistent queue."},{"line_number":15,"context_line":"GET    /v2/queues/{queue_name}/messages?ids\u003d{messag_ids}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"With mongoDB, zaqar will return 204, 204 and 404. This patch"},{"line_number":18,"context_line":"fixed it to keep the same with mongoDB backend."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3aaa91ec_b875d232","line":15,"range":{"start_line":15,"start_character":45,"end_line":15,"end_character":55},"in_reply_to":"3aaa91ec_7ba1af93","updated":"2016-06-27 01:45:56.000000000","message":"Done","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"d305b02fabc841d1eb7478dfb471c3e4e2de8075","unresolved":false,"context_lines":[{"line_number":14,"context_line":"3. Get messages with ids from a nonexistent queue."},{"line_number":15,"context_line":"GET    /v2/queues/{queue_name}/messages?ids\u003d{messag_ids}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"With mongoDB, zaqar will return 204, 204 and 404. This patch"},{"line_number":18,"context_line":"fixed it to keep the same with mongoDB backend."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I61d8f6f252cb7d56df1e0821a541ce52d89e34dc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3aaa91ec_3bb287e5","line":17,"range":{"start_line":17,"start_character":32,"end_line":17,"end_character":48},"updated":"2016-06-25 20:06:23.000000000","message":"s/204, 204 and 404/204 response code on all of the described cases/\n\nExplanation: \nI tested things and during testing the third case in MongoDB I found that it returns 204 response code, not 404.\nGladly your patch makes Zaqar with redis back end return 204 response too. But let\u0027s fix the commit message.","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ac4b484895598c81a40f09ca12c0fc2bfb5bb455","unresolved":false,"context_lines":[{"line_number":14,"context_line":"3. Get messages with ids from a nonexistent queue."},{"line_number":15,"context_line":"GET    /v2/queues/{queue_name}/messages?ids\u003d{messag_ids}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"With mongoDB, zaqar will return 204, 204 and 404. This patch"},{"line_number":18,"context_line":"fixed it to keep the same with mongoDB backend."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I61d8f6f252cb7d56df1e0821a541ce52d89e34dc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3aaa91ec_58c82e55","line":17,"range":{"start_line":17,"start_character":32,"end_line":17,"end_character":48},"in_reply_to":"3aaa91ec_3bb287e5","updated":"2016-06-27 01:45:56.000000000","message":"for the third request:\nGET    /v2/queues/{queue_name}/messages?ids\u003d{messag_ids}\n\nI tested again. It returned 404. The code is here:\nhttps://github.com/openstack/zaqar/blob/master/zaqar/transport/wsgi/v2_0/messages.py#L254-L262\nDid I missed something?","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"06212a22fbac89c3584cf35359f16c8215f89d3f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"3. Get messages with ids from a nonexistent queue."},{"line_number":15,"context_line":"GET    /v2/queues/{queue_name}/messages?ids\u003d{messag_ids}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"With mongoDB, zaqar will return 204, 204 and 404. This patch"},{"line_number":18,"context_line":"fixed it to keep the same with mongoDB backend."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I61d8f6f252cb7d56df1e0821a541ce52d89e34dc"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3aaa91ec_742ec78c","line":17,"range":{"start_line":17,"start_character":32,"end_line":17,"end_character":48},"in_reply_to":"3aaa91ec_58c82e55","updated":"2016-06-27 09:54:55.000000000","message":"No, you haven\u0027t. Sorry for my comment, it was my mistake. \u003d)\nI figured out that I was using API v1 for this request. And in API v1 Zaqar surprizingly returns 204 response code in third case. I don\u0027t know if this should be fixed, especially when API v1 is deprecated.","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"}],"zaqar/storage/redis/messages.py":[{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"d305b02fabc841d1eb7478dfb471c3e4e2de8075","unresolved":false,"context_lines":[{"line_number":386,"context_line":"    @utils.retries_on_connection_error"},{"line_number":387,"context_line":"    def bulk_get(self, queue, message_ids, project\u003dNone):"},{"line_number":388,"context_line":"        if not self._queue_ctrl.exists(queue, project):"},{"line_number":389,"context_line":"            return list()"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        # NOTE(prashanthr_): Pipelining is used here purely"},{"line_number":392,"context_line":"        # for performance."}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_1ba4ebb7","line":389,"range":{"start_line":389,"start_character":19,"end_line":389,"end_character":25},"updated":"2016-06-25 20:06:23.000000000","message":"I think instead we should return \"iter([])\" like in MongoDB driver.\nSee: https://github.com/openstack/zaqar/blob/master/zaqar/storage/mongodb/messages.py#L588","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ac4b484895598c81a40f09ca12c0fc2bfb5bb455","unresolved":false,"context_lines":[{"line_number":386,"context_line":"    @utils.retries_on_connection_error"},{"line_number":387,"context_line":"    def bulk_get(self, queue, message_ids, project\u003dNone):"},{"line_number":388,"context_line":"        if not self._queue_ctrl.exists(queue, project):"},{"line_number":389,"context_line":"            return list()"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        # NOTE(prashanthr_): Pipelining is used here purely"},{"line_number":392,"context_line":"        # for performance."}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_58d94ef2","line":389,"range":{"start_line":389,"start_character":19,"end_line":389,"end_character":25},"in_reply_to":"3aaa91ec_1ba4ebb7","updated":"2016-06-27 01:45:56.000000000","message":"Done","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"}],"zaqar/tests/unit/storage/test_impl_redis.py":[{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"d305b02fabc841d1eb7478dfb471c3e4e2de8075","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3aaa91ec_db1f03b5","updated":"2016-06-25 20:06:23.000000000","message":"Move these tests to the MessageControllerTest (base class) in \"zaqar/tests/unit/storage/base.py\" file.\n\nExplanation: these tests are not specific for Redis driver and also MongoDB driver is missing these tests too. It would be much better to add these tests to the base class.","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ac4b484895598c81a40f09ca12c0fc2bfb5bb455","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3aaa91ec_b8e4b2ab","in_reply_to":"3aaa91ec_db1f03b5","updated":"2016-06-27 01:45:56.000000000","message":"Done","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":18683,"name":"Eva Balycheva","email":"ubershy@gmail.com","username":"eva"},"change_message_id":"d305b02fabc841d1eb7478dfb471c3e4e2de8075","unresolved":false,"context_lines":[{"line_number":385,"context_line":"        message_ids \u003d [\u0027fake_id1\u0027, \u0027fake_id2\u0027]"},{"line_number":386,"context_line":"        res \u003d self.controller.bulk_get(queue_name, message_ids,"},{"line_number":387,"context_line":"                                       project\u003dself.project)"},{"line_number":388,"context_line":"        self.assertEqual([], res)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"@testing.requires_redis"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_5b82f3c8","line":388,"range":{"start_line":388,"start_character":8,"end_line":388,"end_character":33},"updated":"2016-06-25 20:06:23.000000000","message":"Another assertion will be needed. See my comment in \"messages.py\".\n\nPerhaps you can try something like this (you should import \"collections\"):\n\nself.assertTrue(isinstance(res, collections.Iterable))\nself.assertEqual(list(res), [])","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"ac4b484895598c81a40f09ca12c0fc2bfb5bb455","unresolved":false,"context_lines":[{"line_number":385,"context_line":"        message_ids \u003d [\u0027fake_id1\u0027, \u0027fake_id2\u0027]"},{"line_number":386,"context_line":"        res \u003d self.controller.bulk_get(queue_name, message_ids,"},{"line_number":387,"context_line":"                                       project\u003dself.project)"},{"line_number":388,"context_line":"        self.assertEqual([], res)"},{"line_number":389,"context_line":""},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"@testing.requires_redis"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_98df36d5","line":388,"range":{"start_line":388,"start_character":8,"end_line":388,"end_character":33},"in_reply_to":"3aaa91ec_5b82f3c8","updated":"2016-06-27 01:45:56.000000000","message":"Done","commit_id":"39fce4cfd0efae27e2fe33e14e2f76c30a5721ea"}]}
