)]}'
{"mistral/config.py":[{"author":{"_account_id":9029,"name":"Moshe Elisha","email":"moshe.elisha@nokia.com","username":"MosheElisha"},"change_message_id":"627b572353c10b747ff64f5daa976f25a26d4f60","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    help\u003d\u0027Specifies whether Mistral uses modified oslo.messaging (if True)\u0027"},{"line_number":99,"context_line":"         \u0027 or original oslo.messaging. Modified oslo.messaging is done for\u0027"},{"line_number":100,"context_line":"         \u0027 acknowledgement a message after processing.\u0027"},{"line_number":101,"context_line":")"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"execution_expiration_policy_opts \u003d ["},{"line_number":104,"context_line":"    cfg.IntOpt(\u0027evaluation_interval\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"7af24918_8af6cc5a","line":101,"updated":"2016-03-04 11:43:24.000000000","message":"Soft: I would use the known terms \"at most once\" and \"at least once\" to describe the difference between True and False.","commit_id":"fdbf73c068693318391131877e87e79e24009188"}],"mistral/engine/rpc.py":[{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"e10454115131e4211133ea4ef668974be2d2d621","unresolved":false,"context_lines":[{"line_number":33,"context_line":"_EXECUTOR_CLIENT \u003d None"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_d54c14ca","line":36,"range":{"start_line":36,"start_character":6,"end_line":36,"end_character":26},"updated":"2016-02-12 00:53:36.000000000","message":"I understand the general idea but I\u0027d like to see description of all parameters. For example, what is \"incoming\"?","commit_id":"d41868cd7957ac32c162be14adfd91a5ac34dd39"},{"author":{"_account_id":9029,"name":"Moshe Elisha","email":"moshe.elisha@nokia.com","username":"MosheElisha"},"change_message_id":"653c5d0d2514d7bb8450beb6f87c26fab79ed6db","unresolved":false,"context_lines":[{"line_number":33,"context_line":"_EXECUTOR_CLIENT \u003d None"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_c7fbfc79","line":36,"range":{"start_line":36,"start_character":6,"end_line":36,"end_character":26},"in_reply_to":"3a57f1b5_181979d7","updated":"2016-02-12 10:12:45.000000000","message":"So this will change Mistral behavior from \"at most once\" to \"at least once\" - correct? Maybe this should be configurable per installation / executor / action execution?","commit_id":"d41868cd7957ac32c162be14adfd91a5ac34dd39"},{"author":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"change_message_id":"36a7ec010628053c4652eea29bfad55a776516e5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"_EXECUTOR_CLIENT \u003d None"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_181979d7","line":36,"range":{"start_line":36,"start_character":6,"end_line":36,"end_character":26},"in_reply_to":"3a57f1b5_d54c14ca","updated":"2016-02-12 08:23:03.000000000","message":"This class just overrides 2 methods in original oslo RPCDispatcher so that message acknowledging is after processing a message.","commit_id":"d41868cd7957ac32c162be14adfd91a5ac34dd39"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"a39e6f09b56f71472efd4fcd9389835aceeae22f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"},{"line_number":40,"context_line":"            self._dispatch_and_reply,"},{"line_number":41,"context_line":"            executor_callback\u003dexecutor_callback"},{"line_number":42,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_0c605ba4","line":39,"range":{"start_line":39,"start_character":12,"end_line":39,"end_character":20},"updated":"2016-02-12 09:48:36.000000000","message":"From original oslo.messaging implementation:\n    def __call__(self, incoming, executor_callback\u003dNone):\n        incoming[0].acknowledge()\n        return dispatcher.DispatcherExecutorContext(\n            incoming[0], self._dispatch_and_reply,\n            executor_callback\u003dexecutor_callback)\n\nso DispatcherExecutorContext initialized by single message.\nPlease, just romove here\n\nincoming[0].acknowledge()\n\nand remove \n\nif isinstance(incoming, list):\n            incoming \u003d incoming[0]\n\nconsidering that incoming there is a single message\n\n\nThis code is workable but it will help to avoid not needed questions:)","commit_id":"d41868cd7957ac32c162be14adfd91a5ac34dd39"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"00f74a6d7f36e86636bd88e0c57eb6e3593702ce","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        )"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _dispatch_and_reply(self, incoming, executor_callback):"},{"line_number":45,"context_line":"        if isinstance(incoming, list):"},{"line_number":46,"context_line":"            incoming \u003d incoming[0]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        super(RPCDispatcherPostAck, self)._dispatch_and_reply("},{"line_number":49,"context_line":"            incoming,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_615d5814","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":34},"updated":"2016-02-12 09:20:08.000000000","message":"I don\u0027t quite understand the logic here - originally, in oslo.messaging __call__ suppose to get a listish object as a \u0027incoming\u0027 parameter, and only first item of that object would be processed (pass to the dispatcher). Is there any other situation, where we expecting something different?","commit_id":"d41868cd7957ac32c162be14adfd91a5ac34dd39"},{"author":{"_account_id":19206,"name":"Dawid Deja","email":"dawdej@gmail.com","username":"ddeja"},"change_message_id":"9b9d54215daf25997e4e37efee91abdc10065f0a","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"},{"line_number":40,"context_line":"            self._dispatch_and_reply,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dae33548_06f7e5f5","line":37,"updated":"2016-02-16 13:04:51.000000000","message":"Can this method just change the order of ack and processing the messaging? So it looks like\nresult \u003d messaging.rpc...\nincoming.acknowledge()\nreturn result\n\nIt would be similar to one provided in oslo messaaging\nhttps://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/rpc/dispatcher.py#L133","commit_id":"957d3ccf82ccd937fc21186f1a3d0c929515be12"},{"author":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"change_message_id":"9e1c02eb34c859c40f4dc8bbac6a3b076b741c3a","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"},{"line_number":40,"context_line":"            self._dispatch_and_reply,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dae33548_75be54d5","line":37,"in_reply_to":"dae33548_06f7e5f5","updated":"2016-02-16 14:36:40.000000000","message":"Yes but I guess that dispatcherExecutorContext executes asynchronously, therefore that way oslo doesn\u0027t have enough time to reply on message (message will be acked before oslo replies).\n\nI think it may be the reason why is that thing is implemented in the same way here: https://review.openstack.org/#/c/229186\n(calling acknowledge here is after reply as well)","commit_id":"957d3ccf82ccd937fc21186f1a3d0c929515be12"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"e4103b8c35b5a99cba006bffc12c15993ad23216","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"},{"line_number":40,"context_line":"            self._dispatch_and_reply,"},{"line_number":41,"context_line":"            executor_callback\u003dexecutor_callback"}],"source_content_type":"text/x-python","patch_set":7,"id":"dae33548_b9242160","line":38,"range":{"start_line":38,"start_character":15,"end_line":38,"end_character":39},"updated":"2016-02-17 11:26:17.000000000","message":"This probably can be shortened just to \u0027dispatcher\u0027 since you importing it at line 20 :)","commit_id":"53d9639b2ee073d89e62d02a5c067be94c176cc3"},{"author":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"change_message_id":"57dd6c9ed24900a5f31dfda38405b66887c45508","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class RPCDispatcherPostAck(dispatcher.RPCDispatcher):"},{"line_number":37,"context_line":"    def __call__(self, incoming, executor_callback\u003dNone):"},{"line_number":38,"context_line":"        return messaging.rpc.dispatcher.dispatcher.DispatcherExecutorContext("},{"line_number":39,"context_line":"            incoming,"},{"line_number":40,"context_line":"            self._dispatch_and_reply,"},{"line_number":41,"context_line":"            executor_callback\u003dexecutor_callback"}],"source_content_type":"text/x-python","patch_set":7,"id":"dae33548_19542d1f","line":38,"range":{"start_line":38,"start_character":15,"end_line":38,"end_character":39},"in_reply_to":"dae33548_b9242160","updated":"2016-02-17 11:33:47.000000000","message":"yep, thanks!","commit_id":"53d9639b2ee073d89e62d02a5c067be94c176cc3"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"e4103b8c35b5a99cba006bffc12c15993ad23216","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_rpc_server(transport, target, endpoints, executor\u003d\u0027blocking\u0027,"},{"line_number":56,"context_line":"                   serializer\u003dNone):"},{"line_number":57,"context_line":"    dispatcher \u003d RPCDispatcherPostAck(target, endpoints, serializer)"},{"line_number":58,"context_line":"    return messaging.server.MessageHandlingServer("},{"line_number":59,"context_line":"        transport,"},{"line_number":60,"context_line":"        dispatcher,"}],"source_content_type":"text/x-python","patch_set":7,"id":"dae33548_f9222951","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":14},"updated":"2016-02-17 11:26:17.000000000","message":"Since you are importing the name dispatcher at line 20, maybe it\u0027s good idea to name \u0027dispatcher\u0027 to something different - it would not override that label from outer namespace, and will be more readable and less confusing, since there is a lot of dispatchers around :)","commit_id":"53d9639b2ee073d89e62d02a5c067be94c176cc3"},{"author":{"_account_id":7700,"name":"Nikolay Mahotkin","email":"nikolay.makhotkin@gmail.com","username":"nmakhotkin"},"change_message_id":"57dd6c9ed24900a5f31dfda38405b66887c45508","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_rpc_server(transport, target, endpoints, executor\u003d\u0027blocking\u0027,"},{"line_number":56,"context_line":"                   serializer\u003dNone):"},{"line_number":57,"context_line":"    dispatcher \u003d RPCDispatcherPostAck(target, endpoints, serializer)"},{"line_number":58,"context_line":"    return messaging.server.MessageHandlingServer("},{"line_number":59,"context_line":"        transport,"},{"line_number":60,"context_line":"        dispatcher,"}],"source_content_type":"text/x-python","patch_set":7,"id":"dae33548_d92485c6","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":14},"in_reply_to":"dae33548_f9222951","updated":"2016-02-17 11:33:47.000000000","message":"Thanks!","commit_id":"53d9639b2ee073d89e62d02a5c067be94c176cc3"}]}
