)]}'
{"marconi/queues/storage/pooling.py":[{"author":{"_account_id":10634,"name":"Peng Fei Wang","email":"wpf710@gmail.com","username":"wpf"},"change_message_id":"0c526c01cd53942a3dd073a135adb7fe3d70ba25","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        return []"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def list(self, queue, project, marker\u003dNone,"},{"line_number":274,"context_line":"             limit\u003dstorage.DEFAULT_MESSAGES_PER_PAGE,"},{"line_number":275,"context_line":"             echo\u003dFalse, client_uuid\u003dNone, include_claimed\u003dFalse):"},{"line_number":276,"context_line":"        target \u003d self._lookup(queue, project)"},{"line_number":277,"context_line":"        if target:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_b6fcf5b6","line":274,"updated":"2014-06-25 12:55:15.000000000","message":"Do you think we need to create some test cases to cover it?","commit_id":"ffd4ca5e6ceebfc306f93bf3f7f065d7290b3aa2"},{"author":{"_account_id":6427,"name":"Kurt Griffiths","email":"kurt.griffiths@rackspace.com","username":"kgriffs"},"change_message_id":"00ccf8ef077403074aba867eab5804d86b74f73d","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        return []"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def list(self, queue, project, marker\u003dNone,"},{"line_number":274,"context_line":"             limit\u003dstorage.DEFAULT_MESSAGES_PER_PAGE,"},{"line_number":275,"context_line":"             echo\u003dFalse, client_uuid\u003dNone, include_claimed\u003dFalse):"},{"line_number":276,"context_line":"        target \u003d self._lookup(queue, project)"},{"line_number":277,"context_line":"        if target:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_cb7e25e3","line":274,"in_reply_to":"1ae5cdf2_b6fcf5b6","updated":"2014-06-25 21:53:06.000000000","message":"IMO: The test would apply equally to all drivers, not just the pool meta-driver. I think it would go in marconi/tests/queues/storage/base.py\n\nTo make that test run for a pooled config, you will need to add a test class similar to L190 in tests/unit/queues/storage/test_impl_mongodb.py -- but providing a config file that turns on pooling. TBH, We should be doing this for base.QueueControllerTest and base.ClaimControllerTest as well as base.MessageControllerTest.\n\nI would be fine with doing these tests in a followup patch, assuming they are done right away before we forget!","commit_id":"ffd4ca5e6ceebfc306f93bf3f7f065d7290b3aa2"},{"author":{"_account_id":10777,"name":"Nataliia Uvarova","email":"grafinya.uvarova@gmail.com","username":"AAzza"},"change_message_id":"0bb3783200cc0624e810ecc23ef6d09e69d9416c","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        return []"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def list(self, queue, project, marker\u003dNone,"},{"line_number":274,"context_line":"             limit\u003dstorage.DEFAULT_MESSAGES_PER_PAGE,"},{"line_number":275,"context_line":"             echo\u003dFalse, client_uuid\u003dNone, include_claimed\u003dFalse):"},{"line_number":276,"context_line":"        target \u003d self._lookup(queue, project)"},{"line_number":277,"context_line":"        if target:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_129f0303","line":274,"in_reply_to":"1ae5cdf2_cb7e25e3","updated":"2014-06-28 08:02:07.000000000","message":"I agree, we should do these tests for all drivers. There are different options how we can do it:\n\n1. on storage level, where you propose it (in queues/storage/base.py). I did some investigation on enabling all these test suites for pooled configuration. First problem (solvable) is that it requires some hacking in ControllerBaseTest during initialization since creation of drivers and controllers a little bit different for pooled version. Next and more important, after I managed to run tests, it quickly become visible, that API of controllers from storage/pooling doesn\u0027t strictly follow the API from queues/storage/base.py. The order of parameters is different (such as project moves from last place to second). Also such parameter as claim has default value None in base.py, but should be present in pooling.py. A lot of tests fails due to these incompatibilities.\n\nIf we select to use this approach, my proposed plan will be - to add tests for default limits in base.py in this commit, and in separate (or in 2 separate) enable storage tests for pooling and fix the API interface (another problems might appear, since I don\u0027t reach the all-passing-end yet).\n\n2. on transport level. There are already some tests, that run on pooled configuration (e.g. marconi/tests/queues/transport/wsgi/v1/test_messages.py), we can just add test for default limits here. Another option is existing tests for default limits (marconi/tests/queues/transport/wsgi/v1/test_default_limits.py), that we can try to run in pooled configuration.","commit_id":"ffd4ca5e6ceebfc306f93bf3f7f065d7290b3aa2"},{"author":{"_account_id":10634,"name":"Peng Fei Wang","email":"wpf710@gmail.com","username":"wpf"},"change_message_id":"7fff7dde374346d7b4d8adedf9937e6c0e8e6de3","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            control \u003d target.message_controller"},{"line_number":289,"context_line":"            return control.get(queue, message_id\u003dmessage_id,"},{"line_number":290,"context_line":"                               project\u003dproject)"},{"line_number":291,"context_line":"        raise errors.QueueDoesNotExist(project, queue)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def first(self, queue, project\u003dNone, sort\u003d1):"},{"line_number":294,"context_line":"        target \u003d self._lookup(queue, project)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_a0d69725","line":291,"updated":"2014-07-10 02:28:07.000000000","message":"the parameter order for QueueDoesNotExist should be (queue, project)","commit_id":"ac8f91f8737ad8f39f5c9c713ae5c6b4fe52171c"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"2bf43477fd38c0061ecc346b8d872c573a98020b","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            control \u003d target.message_controller"},{"line_number":289,"context_line":"            return control.get(queue, message_id\u003dmessage_id,"},{"line_number":290,"context_line":"                               project\u003dproject)"},{"line_number":291,"context_line":"        raise errors.QueueDoesNotExist(project, queue)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def first(self, queue, project\u003dNone, sort\u003d1):"},{"line_number":294,"context_line":"        target \u003d self._lookup(queue, project)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_07710e44","line":291,"in_reply_to":"baada198_a0d69725","updated":"2014-07-10 11:14:31.000000000","message":"+1","commit_id":"ac8f91f8737ad8f39f5c9c713ae5c6b4fe52171c"},{"author":{"_account_id":10777,"name":"Nataliia Uvarova","email":"grafinya.uvarova@gmail.com","username":"AAzza"},"change_message_id":"53e0227974fc90e2cb995be1383f5c7d578e1040","unresolved":false,"context_lines":[{"line_number":288,"context_line":"            control \u003d target.message_controller"},{"line_number":289,"context_line":"            return control.get(queue, message_id\u003dmessage_id,"},{"line_number":290,"context_line":"                               project\u003dproject)"},{"line_number":291,"context_line":"        raise errors.QueueDoesNotExist(project, queue)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def first(self, queue, project\u003dNone, sort\u003d1):"},{"line_number":294,"context_line":"        target \u003d self._lookup(queue, project)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_fe801c8d","line":291,"in_reply_to":"baada198_a0d69725","updated":"2014-07-10 14:41:19.000000000","message":"aha, see, thanks. I\u0027ll change this.","commit_id":"ac8f91f8737ad8f39f5c9c713ae5c6b4fe52171c"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"2bf43477fd38c0061ecc346b8d872c573a98020b","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                               project\u003dproject)"},{"line_number":291,"context_line":"        raise errors.QueueDoesNotExist(project, queue)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def first(self, queue, project\u003dNone, sort\u003d1):"},{"line_number":294,"context_line":"        target \u003d self._lookup(queue, project)"},{"line_number":295,"context_line":"        if target:"},{"line_number":296,"context_line":"            control \u003d target.message_controller"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_592beaea","line":293,"updated":"2014-07-10 11:14:31.000000000","message":"Q: Is this related to this patch?","commit_id":"ac8f91f8737ad8f39f5c9c713ae5c6b4fe52171c"},{"author":{"_account_id":10777,"name":"Nataliia Uvarova","email":"grafinya.uvarova@gmail.com","username":"AAzza"},"change_message_id":"53e0227974fc90e2cb995be1383f5c7d578e1040","unresolved":false,"context_lines":[{"line_number":290,"context_line":"                               project\u003dproject)"},{"line_number":291,"context_line":"        raise errors.QueueDoesNotExist(project, queue)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"    def first(self, queue, project\u003dNone, sort\u003d1):"},{"line_number":294,"context_line":"        target \u003d self._lookup(queue, project)"},{"line_number":295,"context_line":"        if target:"},{"line_number":296,"context_line":"            control \u003d target.message_controller"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_de4ef8c1","line":293,"in_reply_to":"baada198_592beaea","updated":"2014-07-10 14:41:19.000000000","message":"Yes, it is related. The \u0027first\u0027 method is defined in storage/base/Message, but pooled wrapper for it (MessageController in this file) didn\u0027t contain corresponding one. I just added missing method.","commit_id":"ac8f91f8737ad8f39f5c9c713ae5c6b4fe52171c"},{"author":{"_account_id":10634,"name":"Peng Fei Wang","email":"wpf710@gmail.com","username":"wpf"},"change_message_id":"7fff7dde374346d7b4d8adedf9937e6c0e8e6de3","unresolved":false,"context_lines":[{"line_number":295,"context_line":"        if target:"},{"line_number":296,"context_line":"            control \u003d target.message_controller"},{"line_number":297,"context_line":"            return control.first(queue, project\u003dproject, sort\u003dsort)"},{"line_number":298,"context_line":"        raise errors.QueueDoesNotExist(project, queue)"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"class ClaimController(RoutingController):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_80d35337","line":298,"updated":"2014-07-10 02:28:07.000000000","message":"the parameter order for QueueDoesNotExist should be (queue, project)","commit_id":"ac8f91f8737ad8f39f5c9c713ae5c6b4fe52171c"}]}
