)]}'
{"nova/compute/resource_tracker.py":[{"author":{"_account_id":5280,"name":"Nicolas Simonds","email":"nic@metacloud.com","username":"nicolas.simonds"},"change_message_id":"37408b63fd6f67e998964738a6719b1b7a545c89","unresolved":false,"context_lines":[{"line_number":48,"context_line":"COMPUTE_RESOURCE_SEMAPHORE \u003d \"compute_resources\""},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Timezone-aware date that\u0027s older than anything in the system"},{"line_number":51,"context_line":"MIN_TIME \u003d timeutils.utcnow(True).replace(year\u003d1970)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def _instance_in_resize_state(instance):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad45d7e_d43bc136","line":51,"range":{"start_line":51,"start_character":11,"end_line":51,"end_character":52},"updated":"2016-08-09 22:35:25.000000000","message":"If you\u0027re going to do it, overdo it:\n\n    MIN_TIME \u003d timeutils.datetime.datetime.min.replace(tzinfo\u003dtimeutils.iso8601.UTC)\n\n...but that might be tying this a little too closely to a particular implementation.","commit_id":"a1db884d06a720e66aa6b1c4eecc2e5419536ca1"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3502738a17633538a736e478995b8728d706b0fb","unresolved":false,"context_lines":[{"line_number":828,"context_line":"            other_migration \u003d filtered.get(uuid, None)"},{"line_number":829,"context_line":"            # NOTE(claudiub): In Python 3, you cannot compare NoneTypes."},{"line_number":830,"context_line":"            if other_migration:"},{"line_number":831,"context_line":"                other_time \u003d other_migration.updated_at or MIN_TIME"},{"line_number":832,"context_line":"                migration_time \u003d migration.updated_at or MIN_TIME"},{"line_number":833,"context_line":"                if migration_time \u003e other_time:"},{"line_number":834,"context_line":"                    filtered[uuid] \u003d migration"},{"line_number":835,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_e4182c87","line":832,"range":{"start_line":831,"start_character":16,"end_line":832,"end_character":65},"updated":"2016-09-23 06:17:33.000000000","message":"When we just create a migration db record, the updated_at field is None. But it won\u0027t means that is old record, it is new created record. So we should compare the created_at at that case.","commit_id":"0b177d0d7cd2c96415c8e28c61e8e475389f28de"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"53e75b7b3ca2a08840f2089c0560a3585e4ff044","unresolved":false,"context_lines":[{"line_number":828,"context_line":"            other_migration \u003d filtered.get(uuid, None)"},{"line_number":829,"context_line":"            # NOTE(claudiub): In Python 3, you cannot compare NoneTypes."},{"line_number":830,"context_line":"            if other_migration:"},{"line_number":831,"context_line":"                other_time \u003d other_migration.updated_at or MIN_TIME"},{"line_number":832,"context_line":"                migration_time \u003d migration.updated_at or MIN_TIME"},{"line_number":833,"context_line":"                if migration_time \u003e other_time:"},{"line_number":834,"context_line":"                    filtered[uuid] \u003d migration"},{"line_number":835,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_9076fd04","line":832,"range":{"start_line":831,"start_character":16,"end_line":832,"end_character":65},"in_reply_to":"5a8bc5a2_e4182c87","updated":"2016-09-27 23:26:53.000000000","message":"When I do that, I get the exception:\n\n    NotImplementedError: Cannot load \u0027created_at\u0027 in the base class\n\nAny idea why I can access \u0027updated_at\u0027 but not \u0027created_at\u0027?","commit_id":"0b177d0d7cd2c96415c8e28c61e8e475389f28de"}]}
