)]}'
{"rally/cmd/commands/task.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"11b9b313804abb67b1ff2924aa88496426b8279e","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        task_list \u003d [task.to_dict() for task in objects.Task.list(**filters)]"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        for x in task_list:"},{"line_number":482,"context_line":"            updated_at \u003d x[\"updated_at\"] or datetime.datetime.now()"},{"line_number":483,"context_line":"            x[\"duration\"] \u003d updated_at - x[\"created_at\"]"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        if uuids_only:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab921fb_b190eb96","line":482,"updated":"2015-04-23 14:48:37.000000000","message":"This is very very bad idea and just hide bug.\n\nWe should find the root issue and fix it.  And the root issue is that creating new record don\u0027t put to \"updated_at\" proper value. \n\nSo it should be fixed somewhere here: \n\nhttps://github.com/openstack/rally/blob/master/rally/db/sqlalchemy/models.py","commit_id":"ada1889c901453d43a00030c5629895c4bc70218"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"36bc2ca302598a1def8a8578d77416b4cf2c0907","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        task_list \u003d [task.to_dict() for task in objects.Task.list(**filters)]"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        for x in task_list:"},{"line_number":482,"context_line":"            updated_at \u003d x[\"updated_at\"] or datetime.datetime.now()"},{"line_number":483,"context_line":"            x[\"duration\"] \u003d updated_at - x[\"created_at\"]"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        if uuids_only:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab921fb_f58bc81c","line":482,"in_reply_to":"bab921fb_b190eb96","updated":"2015-04-24 05:52:02.000000000","message":"Seems like updated_at will be updated once there are values update [1], is it possible that task never update is the root issue for \"updated_at \u003d None\"?\n\n[1]: https://git.openstack.org/cgit/openstack/oslo.db/tree/oslo_db/sqlalchemy/models.py#n117","commit_id":"ada1889c901453d43a00030c5629895c4bc70218"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f0893f6bfbc4229928cb56120e457560eca2cc26","unresolved":false,"context_lines":[{"line_number":479,"context_line":"        task_list \u003d [task.to_dict() for task in objects.Task.list(**filters)]"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        for x in task_list:"},{"line_number":482,"context_line":"            updated_at \u003d x[\"updated_at\"] or datetime.datetime.now()"},{"line_number":483,"context_line":"            x[\"duration\"] \u003d updated_at - x[\"created_at\"]"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        if uuids_only:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab921fb_cdea74ac","line":482,"in_reply_to":"bab921fb_f58bc81c","updated":"2015-04-24 10:24:53.000000000","message":"Li,\n\nYep we need to put there default_value as well","commit_id":"ada1889c901453d43a00030c5629895c4bc70218"}],"rally/db/sqlalchemy/api.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"45c325b2a2ebf63ecefc6719395eee6a87e97f20","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    def task_create(self, values):"},{"line_number":117,"context_line":"        task \u003d models.Task()"},{"line_number":118,"context_line":"        # Set default updated_at to utcnow."},{"line_number":119,"context_line":"        values[\"updated_at\"] \u003d timeutils.utcnow()"},{"line_number":120,"context_line":"        task.update(values)"},{"line_number":121,"context_line":"        task.save()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_84cd795f","line":118,"updated":"2015-05-02 09:34:26.000000000","message":"Please remove obvious comment","commit_id":"2ca2c5cbade5c2da9a5df27d96b9df323a349239"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"45c325b2a2ebf63ecefc6719395eee6a87e97f20","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    def task_create(self, values):"},{"line_number":117,"context_line":"        task \u003d models.Task()"},{"line_number":118,"context_line":"        # Set default updated_at to utcnow."},{"line_number":119,"context_line":"        values[\"updated_at\"] \u003d timeutils.utcnow()"},{"line_number":120,"context_line":"        task.update(values)"},{"line_number":121,"context_line":"        task.save()"},{"line_number":122,"context_line":"        return task"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_44d761ed","line":119,"updated":"2015-05-02 09:34:26.000000000","message":"Why we are changing this only here? I believe it\u0027s better to change it in base models, here:\n\nhttps://github.com/openstack/rally/blob/master/rally/db/sqlalchemy/models.py#L39-L49\n\nLike: \n\nremove timemixin and put:\n\n    created_at \u003d Column(DateTime, default\u003dlambda: timeutils.utcnow())\n    updated_at \u003d Column(DateTime, default\u003dlambda: timeutils.utcnow(), onupdate\u003dlambda: timeutils.utcnow())","commit_id":"2ca2c5cbade5c2da9a5df27d96b9df323a349239"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"225375789ce1fd7841415ed4ef1d2155c746e6ee","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    def task_create(self, values):"},{"line_number":117,"context_line":"        task \u003d models.Task()"},{"line_number":118,"context_line":"        # Set default updated_at to utcnow."},{"line_number":119,"context_line":"        values[\"updated_at\"] \u003d timeutils.utcnow()"},{"line_number":120,"context_line":"        task.update(values)"},{"line_number":121,"context_line":"        task.save()"},{"line_number":122,"context_line":"        return task"}],"source_content_type":"text/x-python","patch_set":2,"id":"3acd31a7_f5004e03","line":119,"in_reply_to":"3acd31a7_44d761ed","updated":"2015-05-04 01:34:42.000000000","message":"Done","commit_id":"2ca2c5cbade5c2da9a5df27d96b9df323a349239"}],"rally/db/sqlalchemy/models.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"beeacf919294660ca4b4f6574ac51af35f7c4605","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_db.sqlalchemy import models"},{"line_number":23,"context_line":"from oslo_utils import timeutils"},{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy import Column, DateTime"},{"line_number":26,"context_line":"from sqlalchemy.ext.declarative import declarative_base"},{"line_number":27,"context_line":"from sqlalchemy import schema"},{"line_number":28,"context_line":"from sqlalchemy import types"}],"source_content_type":"text/x-python","patch_set":3,"id":"3acd31a7_5b04d048","line":25,"updated":"2015-05-04 08:51:38.000000000","message":"sqlalchemy is already imported as \"sa\"\n\nWeird. I was sure our PEP8 requires to:  \n - import modules and not classes\n - import each module in a single line.","commit_id":"99fdbfcad69693e22463c02aa719dffa0069329a"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f6e796927d91560e79104040d35a82460ed211b7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from oslo_db.sqlalchemy import models"},{"line_number":23,"context_line":"from oslo_utils import timeutils"},{"line_number":24,"context_line":"import sqlalchemy as sa"},{"line_number":25,"context_line":"from sqlalchemy import Column, DateTime"},{"line_number":26,"context_line":"from sqlalchemy.ext.declarative import declarative_base"},{"line_number":27,"context_line":"from sqlalchemy import schema"},{"line_number":28,"context_line":"from sqlalchemy import types"}],"source_content_type":"text/x-python","patch_set":3,"id":"3acd31a7_6adfa30d","line":25,"in_reply_to":"3acd31a7_5b04d048","updated":"2015-05-04 21:08:55.000000000","message":"Not sure how this passed pep8 tests....","commit_id":"99fdbfcad69693e22463c02aa719dffa0069329a"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"beeacf919294660ca4b4f6574ac51af35f7c4605","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"class RallyBase(models.ModelBase):"},{"line_number":42,"context_line":"    metadata \u003d None"},{"line_number":43,"context_line":"    created_at \u003d Column(DateTime, default\u003dlambda: timeutils.utcnow())"},{"line_number":44,"context_line":"    updated_at \u003d Column(DateTime, default\u003dlambda: timeutils.utcnow(),"},{"line_number":45,"context_line":"                        onupdate\u003dlambda: timeutils.utcnow())"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3acd31a7_1bfe5837","line":43,"updated":"2015-05-04 08:51:38.000000000","message":"please use - sa.Column","commit_id":"99fdbfcad69693e22463c02aa719dffa0069329a"}]}
