)]}'
{"rally/common/db/sqlalchemy/api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"85dc1c0747c4bfa3521b6f17a34f6a5827c0aadb","unresolved":false,"context_lines":[{"line_number":564,"context_line":""},{"line_number":565,"context_line":"            load_duration \u003d data.get(\"load_duration\", 0)"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"            workload.update({"},{"line_number":568,"context_line":"                \"task_uuid\": workload.task_uuid,"},{"line_number":569,"context_line":"                \"subtask_uuid\": workload.subtask_uuid,"},{"line_number":570,"context_line":"                \"sla_results\": {\"sla\": sla},"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_bb90c14b","line":567,"updated":"2017-06-15 19:32:38.000000000","message":"why we can\u0027t just update workloads without retrieving it from db?","commit_id":"9cddc61ae86645d164eb17b1d35453ed95b0547b"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5fbbfbb811171f1becc951457d14890410152a2a","unresolved":false,"context_lines":[{"line_number":564,"context_line":""},{"line_number":565,"context_line":"            load_duration \u003d data.get(\"load_duration\", 0)"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":"            workload.update({"},{"line_number":568,"context_line":"                \"task_uuid\": workload.task_uuid,"},{"line_number":569,"context_line":"                \"subtask_uuid\": workload.subtask_uuid,"},{"line_number":570,"context_line":"                \"sla_results\": {\"sla\": sla},"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_ae950489","line":567,"in_reply_to":"7f231b9d_bb90c14b","updated":"2017-06-16 14:45:52.000000000","message":"It was there before this patch:) But will change it.","commit_id":"9cddc61ae86645d164eb17b1d35453ed95b0547b"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"85dc1c0747c4bfa3521b6f17a34f6a5827c0aadb","unresolved":false,"context_lines":[{"line_number":582,"context_line":"            })"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"            task \u003d self._task_get(workload.task_uuid, session\u003dsession)"},{"line_number":585,"context_line":"            task_updates \u003d {"},{"line_number":586,"context_line":"                \"task_duration\": task.task_duration + load_duration}"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"            subtask \u003d self.model_query("}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_7b86a915","line":585,"updated":"2017-06-15 19:32:38.000000000","message":"same here","commit_id":"9cddc61ae86645d164eb17b1d35453ed95b0547b"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5fbbfbb811171f1becc951457d14890410152a2a","unresolved":false,"context_lines":[{"line_number":582,"context_line":"            })"},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"            task \u003d self._task_get(workload.task_uuid, session\u003dsession)"},{"line_number":585,"context_line":"            task_updates \u003d {"},{"line_number":586,"context_line":"                \"task_duration\": task.task_duration + load_duration}"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"            subtask \u003d self.model_query("}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_2e8a1469","line":585,"in_reply_to":"7f231b9d_7b86a915","updated":"2017-06-16 14:45:52.000000000","message":"task_duration is calculated based on existing value. I thought that it is impossible to do such action without obtaing the object from database, but it looks like it possible. Will submit a new revision soon.","commit_id":"9cddc61ae86645d164eb17b1d35453ed95b0547b"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"85dc1c0747c4bfa3521b6f17a34f6a5827c0aadb","unresolved":false,"context_lines":[{"line_number":587,"context_line":""},{"line_number":588,"context_line":"            subtask \u003d self.model_query("},{"line_number":589,"context_line":"                models.Subtask, session\u003dsession).filter_by("},{"line_number":590,"context_line":"                uuid\u003dworkload.subtask_uuid).first()"},{"line_number":591,"context_line":"            subtask_updates \u003d {"},{"line_number":592,"context_line":"                \"duration\": subtask.duration + load_duration}"},{"line_number":593,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_5b7f6d14","line":590,"updated":"2017-06-15 19:32:38.000000000","message":"same here","commit_id":"9cddc61ae86645d164eb17b1d35453ed95b0547b"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"85dc1c0747c4bfa3521b6f17a34f6a5827c0aadb","unresolved":false,"context_lines":[{"line_number":597,"context_line":"                if subtask.pass_sla !\u003d success:"},{"line_number":598,"context_line":"                    subtask_updates[\"pass_sla\"] \u003d False"},{"line_number":599,"context_line":""},{"line_number":600,"context_line":"            task.update(task_updates)"},{"line_number":601,"context_line":"            subtask.update(subtask_updates)"},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"        return workload"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_3bcf1157","line":600,"updated":"2017-06-15 19:32:38.000000000","message":"I mean really this is bad. \n\nyou are doing \n\nSelect \nUpdate \nSelect\nUpdate\nSelect \nUpdate\nUpdate\nUpdate  \n\nAnd you should do \n\nUpdate workload where uuid \u003d workload_uuid()\nUpdate task where uuid \u003d task_uuid()\nUpdate subtask where uuid \u003d task_uuid()\n\n\nI think we should use sqlaclhemy.core and remove models and ORM","commit_id":"9cddc61ae86645d164eb17b1d35453ed95b0547b"}],"rally/common/db/sqlalchemy/migrations/script.py.mako":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"85dc1c0747c4bfa3521b6f17a34f6a5827c0aadb","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"\"\"\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# revision identifiers, used by Alembic."},{"line_number":24,"context_line":"revision \u003d \"${up_revision}\""},{"line_number":25,"context_line":"down_revision \u003d \"${down_revision}\""},{"line_number":26,"context_line":"branch_labels \u003d ${repr(branch_labels)}"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"7f231b9d_1bee95ec","side":"PARENT","line":23,"updated":"2017-06-15 19:32:38.000000000","message":"what\u0027s the point of this change?","commit_id":"83c218ee572d8be914e4570d88a928fd4afd7569"}],"rally/common/db/sqlalchemy/models.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ceeee69513cdde9898ba738c16f119c767e79524","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    context_execution \u003d sa.Column("},{"line_number":267,"context_line":"        sa_types.MutableJSONEncodedDict, default\u003d{}, nullable\u003dFalse)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    start_time \u003d sa.Column(sa.Float, default\u003d0)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    load_duration \u003d sa.Column(sa.Float, default\u003d0)"},{"line_number":272,"context_line":"    full_duration \u003d sa.Column(sa.Float, default\u003d0)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f201791_7eefc11d","line":269,"updated":"2017-06-26 18:39:58.000000000","message":"why default can\u0027t be now?","commit_id":"152d8d5170899e8f6c9e830551f86c6a999c485c"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a074b3ff3f7cbf59f1af5e77ee21a16bc23f929f","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    context_execution \u003d sa.Column("},{"line_number":267,"context_line":"        sa_types.MutableJSONEncodedDict, default\u003d{}, nullable\u003dFalse)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    start_time \u003d sa.Column(sa.Float, default\u003d0)"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    load_duration \u003d sa.Column(sa.Float, default\u003d0)"},{"line_number":272,"context_line":"    full_duration \u003d sa.Column(sa.Float, default\u003d0)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f201791_8b5db816","line":269,"in_reply_to":"5f201791_7eefc11d","updated":"2017-06-26 21:28:42.000000000","message":"\"utcnow\" is a wrong behavior, since start_time should represent a timestamp when the load is started and there is case when the workload doesn\u0027t pass validation and is not launched. But I agree with you that 0 is not the best choice, so let\u0027s change it to None.","commit_id":"152d8d5170899e8f6c9e830551f86c6a999c485c"}]}
