)]}'
{"mistral/api/controllers/v2/execution_report.py":[{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"c3fd0d8761532be6da515b6efd5de711bedc5012","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"STATE_TYPES \u003d wtypes.Enum("},{"line_number":32,"context_line":"    str,"},{"line_number":33,"context_line":"    states.IDLE,"},{"line_number":34,"context_line":"    states.RUNNING,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_9574529e","line":31,"updated":"2019-02-05 09:30:24.000000000","message":"There are no usages of this enum, is it ok?","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2526d37b05919fa2599e320c21ab6a2de646706a","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"STATE_TYPES \u003d wtypes.Enum("},{"line_number":32,"context_line":"    str,"},{"line_number":33,"context_line":"    states.IDLE,"},{"line_number":34,"context_line":"    states.RUNNING,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_5493395d","line":31,"in_reply_to":"9fdfeff1_9574529e","updated":"2019-02-06 06:43:10.000000000","message":"Done","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"c3fd0d8761532be6da515b6efd5de711bedc5012","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"def analyse_workflow_execution(wf_ex_id, stat, filters, cur_depth):"},{"line_number":97,"context_line":"    with db_api.transaction():"},{"line_number":98,"context_line":"        wf_ex \u003d db_api.get_workflow_execution(wf_ex_id)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        entry \u003d create_workflow_execution_entry(wf_ex)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_750c4e3b","line":97,"updated":"2019-02-05 09:30:24.000000000","message":"Is there any need to create new transaction on every level of recursion?","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2526d37b05919fa2599e320c21ab6a2de646706a","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"def analyse_workflow_execution(wf_ex_id, stat, filters, cur_depth):"},{"line_number":97,"context_line":"    with db_api.transaction():"},{"line_number":98,"context_line":"        wf_ex \u003d db_api.get_workflow_execution(wf_ex_id)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        entry \u003d create_workflow_execution_entry(wf_ex)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_b4870510","line":97,"in_reply_to":"9fdfeff1_750c4e3b","updated":"2019-02-06 06:43:10.000000000","message":"DB transactions should be as short as possible. A workflow execution and all its children can compose a huge recursive structure and a lot of data physically, so if it is obtained in a single transaction then such a transaction can be very long. Moving forward, we can think how to optimise the traversal algorithm itself. But first we need to do some benchmarks and see if the current implementation is good enough.","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"c3fd0d8761532be6da515b6efd5de711bedc5012","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        :param max_depth: Optional. TODO"},{"line_number":156,"context_line":"        \"\"\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        LOG.debug("},{"line_number":159,"context_line":"            \"Fetch execution report [workflow_execution_id\u003d%s]\","},{"line_number":160,"context_line":"            workflow_execution_id"},{"line_number":161,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_4ad649c6","line":158,"updated":"2019-02-05 09:30:24.000000000","message":"since this feature could be used by users, I think this should be logged to `info`","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2526d37b05919fa2599e320c21ab6a2de646706a","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        :param max_depth: Optional. TODO"},{"line_number":156,"context_line":"        \"\"\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        LOG.debug("},{"line_number":159,"context_line":"            \"Fetch execution report [workflow_execution_id\u003d%s]\","},{"line_number":160,"context_line":"            workflow_execution_id"},{"line_number":161,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_b4ae2596","line":158,"in_reply_to":"9fdfeff1_4ad649c6","updated":"2019-02-06 06:43:10.000000000","message":"Done","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"dcb6dc4a37a5be0878b9a8a7a4bf63d59bfbf2f6","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        max_depth \u003d filters[\u0027max_depth\u0027]"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Don\u0027t get deeper into the workflow task executions if"},{"line_number":94,"context_line":"        # maximum depth is defined and the current depth exceeds it."},{"line_number":95,"context_line":"        if 0 \u003c\u003d max_depth \u003c cur_depth:"},{"line_number":96,"context_line":"            return entry"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fdfeff1_0b133aba","line":94,"range":{"start_line":94,"start_character":10,"end_line":94,"end_character":34},"updated":"2019-02-07 06:47:02.000000000","message":"What if max_depth not defined? Line#91 will break.","commit_id":"f1251be6e8df3a0735b6d310159ac894ef389baa"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"d9e632848c996e8cd90f51c93a4230614455ca9a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        max_depth \u003d filters[\u0027max_depth\u0027]"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Don\u0027t get deeper into the workflow task executions if"},{"line_number":94,"context_line":"        # maximum depth is defined and the current depth exceeds it."},{"line_number":95,"context_line":"        if 0 \u003c\u003d max_depth \u003c cur_depth:"},{"line_number":96,"context_line":"            return entry"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"9fdfeff1_b01371b8","line":94,"range":{"start_line":94,"start_character":10,"end_line":94,"end_character":34},"in_reply_to":"9fdfeff1_0b133aba","updated":"2019-02-07 16:08:51.000000000","message":"It\u0027s always defined, please look at lines 138 and 154.","commit_id":"f1251be6e8df3a0735b6d310159ac894ef389baa"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"fe9fe352ab626ad8d9a8ee4c5e6f759c69cf03f5","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def get(self, workflow_execution_id, errors_only\u003dFalse, max_depth\u003d-1):"},{"line_number":136,"context_line":"        \"\"\"Return workflow execution report."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        :param workflow_execution_id: Optional. Keep only resources with a"},{"line_number":139,"context_line":"                                      specific workflow execution ID."},{"line_number":140,"context_line":"        :param errors_only: Optional. TODO"},{"line_number":141,"context_line":"        :param max_depth: Optional. TODO"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_5b2494af","line":138,"range":{"start_line":138,"start_character":38,"end_line":138,"end_character":46},"updated":"2019-02-08 13:45:21.000000000","message":"is this really optional?","commit_id":"1cd86fe79dec801dac31543ed71089c5e6b2e1b3"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2c3651fdbfc684447bffdcaa14f461436abb2c76","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    def get(self, workflow_execution_id, errors_only\u003dFalse, max_depth\u003d-1):"},{"line_number":136,"context_line":"        \"\"\"Return workflow execution report."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        :param workflow_execution_id: Optional. Keep only resources with a"},{"line_number":139,"context_line":"                                      specific workflow execution ID."},{"line_number":140,"context_line":"        :param errors_only: Optional. TODO"},{"line_number":141,"context_line":"        :param max_depth: Optional. TODO"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_b68fc52c","line":138,"range":{"start_line":138,"start_character":38,"end_line":138,"end_character":46},"in_reply_to":"9fdfeff1_5b2494af","updated":"2019-02-11 03:00:57.000000000","message":"Nope! Just really forgot to pay attention to the docs. Thanks Andras for pointing that out.\n\nOn its way..","commit_id":"1cd86fe79dec801dac31543ed71089c5e6b2e1b3"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"fe9fe352ab626ad8d9a8ee4c5e6f759c69cf03f5","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        :param workflow_execution_id: Optional. Keep only resources with a"},{"line_number":139,"context_line":"                                      specific workflow execution ID."},{"line_number":140,"context_line":"        :param errors_only: Optional. TODO"},{"line_number":141,"context_line":"        :param max_depth: Optional. TODO"},{"line_number":142,"context_line":"        \"\"\""},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_fb11c854","line":140,"range":{"start_line":140,"start_character":38,"end_line":140,"end_character":42},"updated":"2019-02-08 13:45:21.000000000","message":"we should be more specific","commit_id":"1cd86fe79dec801dac31543ed71089c5e6b2e1b3"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2c3651fdbfc684447bffdcaa14f461436abb2c76","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"        :param workflow_execution_id: Optional. Keep only resources with a"},{"line_number":139,"context_line":"                                      specific workflow execution ID."},{"line_number":140,"context_line":"        :param errors_only: Optional. TODO"},{"line_number":141,"context_line":"        :param max_depth: Optional. TODO"},{"line_number":142,"context_line":"        \"\"\""},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_569e9963","line":140,"range":{"start_line":140,"start_character":38,"end_line":140,"end_character":42},"in_reply_to":"9fdfeff1_fb11c854","updated":"2019-02-11 03:00:57.000000000","message":"Done","commit_id":"1cd86fe79dec801dac31543ed71089c5e6b2e1b3"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"fe9fe352ab626ad8d9a8ee4c5e6f759c69cf03f5","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        :param workflow_execution_id: Optional. Keep only resources with a"},{"line_number":139,"context_line":"                                      specific workflow execution ID."},{"line_number":140,"context_line":"        :param errors_only: Optional. TODO"},{"line_number":141,"context_line":"        :param max_depth: Optional. TODO"},{"line_number":142,"context_line":"        \"\"\""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        LOG.info("}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_bb1b4071","line":141,"range":{"start_line":141,"start_character":36,"end_line":141,"end_character":40},"updated":"2019-02-08 13:45:21.000000000","message":"we should be more specific","commit_id":"1cd86fe79dec801dac31543ed71089c5e6b2e1b3"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2c3651fdbfc684447bffdcaa14f461436abb2c76","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        :param workflow_execution_id: Optional. Keep only resources with a"},{"line_number":139,"context_line":"                                      specific workflow execution ID."},{"line_number":140,"context_line":"        :param errors_only: Optional. TODO"},{"line_number":141,"context_line":"        :param max_depth: Optional. TODO"},{"line_number":142,"context_line":"        \"\"\""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        LOG.info("}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_76995d77","line":141,"range":{"start_line":141,"start_character":36,"end_line":141,"end_character":40},"in_reply_to":"9fdfeff1_bb1b4071","updated":"2019-02-11 03:00:57.000000000","message":"Done","commit_id":"1cd86fe79dec801dac31543ed71089c5e6b2e1b3"},{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"e4694744c21a4446e1b00fa06698a9a4a30a9334","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 - Mirantis, Inc."},{"line_number":2,"context_line":"# Copyright 2015 - StackStorm, Inc."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"#    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_35918a9a","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":35},"updated":"2019-02-11 07:58:25.000000000","message":"Nokia, for the sake of correcness :)","commit_id":"3fa363d046a32d969b8fa57e13823f0c27521043"}],"mistral/api/controllers/v2/resources.py":[{"author":{"_account_id":29124,"name":"Oleg Ovcharuk","email":"vgvoleg@gmail.com","username":"vgvoleg"},"change_message_id":"c3fd0d8761532be6da515b6efd5de711bedc5012","unresolved":false,"context_lines":[{"line_number":782,"context_line":"class TaskExecutionReportEntry(BaseExecutionReportEntry):"},{"line_number":783,"context_line":"    \"\"\"Task execution report entity resource.\"\"\""},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    id \u003d wtypes.text"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"    action_executions \u003d [ActionExecutionReportEntry]"},{"line_number":788,"context_line":"    workflow_executions \u003d [WorkflowExecutionReportEntry]"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_4a688920","line":785,"updated":"2019-02-05 09:30:24.000000000","message":"this one is probably redundant","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"2526d37b05919fa2599e320c21ab6a2de646706a","unresolved":false,"context_lines":[{"line_number":782,"context_line":"class TaskExecutionReportEntry(BaseExecutionReportEntry):"},{"line_number":783,"context_line":"    \"\"\"Task execution report entity resource.\"\"\""},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    id \u003d wtypes.text"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"    action_executions \u003d [ActionExecutionReportEntry]"},{"line_number":788,"context_line":"    workflow_executions \u003d [WorkflowExecutionReportEntry]"}],"source_content_type":"text/x-python","patch_set":8,"id":"9fdfeff1_d49f2963","line":785,"in_reply_to":"9fdfeff1_4a688920","updated":"2019-02-06 06:43:10.000000000","message":"Done","commit_id":"e1adbe2a9f6f9975fc342a5aa0681bd1dda19e71"}],"mistral/tests/unit/api/v2/test_execution_report.py":[{"author":{"_account_id":21970,"name":"Andras Kovi","email":"akovi@nokia.com","username":"andras.kovi"},"change_message_id":"e4694744c21a4446e1b00fa06698a9a4a30a9334","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 - Mirantis, Inc."},{"line_number":2,"context_line":"# Copyright 2015 - StackStorm, Inc."},{"line_number":3,"context_line":"# Copyright 2015 Huawei Technologies Co., Ltd."},{"line_number":4,"context_line":"# Copyright 2016 - Brocade Communications Systems, Inc."},{"line_number":5,"context_line":"# Copyright 2018 - Extreme Networks, Inc."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":8,"context_line":"#    you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_f5e8e216","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":41},"updated":"2019-02-11 07:58:25.000000000","message":"Nokia, for the sake of correctness :)","commit_id":"3fa363d046a32d969b8fa57e13823f0c27521043"}]}
