)]}'
{"ceilometer/storage/impl_hbase.py":[{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"5920dbf21507c55612aa261a8c6dde05c99dce96","unresolved":false,"context_lines":[{"line_number":45,"context_line":"class HBaseStorage(base.StorageEngine):"},{"line_number":46,"context_line":"    \"\"\"Put the data into a HBase database"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    Collections:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    - user"},{"line_number":51,"context_line":"      - { _id: user id"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F0SY%3D","line":48,"updated":"2014-02-28 03:53:49.000000000","message":"I don\u0027t think the following reflect what actually saved in the DB any more. Maybe need to change this?","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d65e595035220b4a4d6d54647a66308df4af04bf","unresolved":false,"context_lines":[{"line_number":45,"context_line":"class HBaseStorage(base.StorageEngine):"},{"line_number":46,"context_line":"    \"\"\"Put the data into a HBase database"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    Collections:"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    - user"},{"line_number":51,"context_line":"      - { _id: user id"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2Fxwk%3D","line":48,"in_reply_to":"AAAAVX%2F%2F0SY%3D","updated":"2014-02-28 11:03:47.000000000","message":"Done","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"5920dbf21507c55612aa261a8c6dde05c99dce96","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        row \u003d \"%s_%d_%s\" % (data[\u0027counter_name\u0027], rts, m.hexdigest())"},{"line_number":301,"context_line":"        record \u003d serialize_entry(data, **{\u0027metadata\u0027: resource_metadata,"},{"line_number":302,"context_line":"                                          \u0027rts\u0027: rts,"},{"line_number":303,"context_line":"                                          \u0027message\u0027: copy.copy(data),"},{"line_number":304,"context_line":"                                          \u0027recorded_at\u0027: timeutils.utcnow()})"},{"line_number":305,"context_line":"        meter_table.put(row, record)"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F0U8%3D","line":303,"updated":"2014-02-28 03:53:49.000000000","message":"ok the message is assumed to be the original meter data, but Ln 271 changed the data, we should keep an copy of the original one.","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d65e595035220b4a4d6d54647a66308df4af04bf","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        row \u003d \"%s_%d_%s\" % (data[\u0027counter_name\u0027], rts, m.hexdigest())"},{"line_number":301,"context_line":"        record \u003d serialize_entry(data, **{\u0027metadata\u0027: resource_metadata,"},{"line_number":302,"context_line":"                                          \u0027rts\u0027: rts,"},{"line_number":303,"context_line":"                                          \u0027message\u0027: copy.copy(data),"},{"line_number":304,"context_line":"                                          \u0027recorded_at\u0027: timeutils.utcnow()})"},{"line_number":305,"context_line":"        meter_table.put(row, record)"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2Fxwo%3D","line":303,"in_reply_to":"AAAAVX%2F%2F0U8%3D","updated":"2014-02-28 11:03:47.000000000","message":"I will delete data.copy and data modification at all","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"5920dbf21507c55612aa261a8c6dde05c99dce96","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        meter_table.put(row, record)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def _update_sources(self, table, id, source):"},{"line_number":308,"context_line":"        user, sources, _, _ \u003d deserialize_entry(table.row(id))"},{"line_number":309,"context_line":"        if source not in sources:"},{"line_number":310,"context_line":"            sources.append(source)"},{"line_number":311,"context_line":"            table.put(id, serialize_entry(user, **{\u0027sources\u0027: sources}))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F0TY%3D","line":308,"updated":"2014-02-28 03:53:49.000000000","message":"just wondering if id is not in the table, what does table.row(id) returned? empty dict or None? Forgive me that I know little about Hbase and happybase.","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d65e595035220b4a4d6d54647a66308df4af04bf","unresolved":false,"context_lines":[{"line_number":305,"context_line":"        meter_table.put(row, record)"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def _update_sources(self, table, id, source):"},{"line_number":308,"context_line":"        user, sources, _, _ \u003d deserialize_entry(table.row(id))"},{"line_number":309,"context_line":"        if source not in sources:"},{"line_number":310,"context_line":"            sources.append(source)"},{"line_number":311,"context_line":"            table.put(id, serialize_entry(user, **{\u0027sources\u0027: sources}))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2FxxA%3D","line":308,"in_reply_to":"AAAAVX%2F%2F0TY%3D","updated":"2014-02-28 11:03:47.000000000","message":"It\u0027s ok :) It will return empty dict","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"5920dbf21507c55612aa261a8c6dde05c99dce96","unresolved":false,"context_lines":[{"line_number":384,"context_line":"            min_ts \u003d meter_rows[0][0][\u0027timestamp\u0027]"},{"line_number":385,"context_line":"            max_ts \u003d latest_data[0][\u0027timestamp\u0027]"},{"line_number":386,"context_line":"            yield models.Resource("},{"line_number":387,"context_line":"                resource_id\u003dlatest_data[0][\u0027resource_id\u0027],"},{"line_number":388,"context_line":"                first_sample_timestamp\u003dmin_ts,"},{"line_number":389,"context_line":"                last_sample_timestamp\u003dmax_ts,"},{"line_number":390,"context_line":"                project_id\u003dlatest_data[0][\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F0P8%3D","line":387,"updated":"2014-02-28 03:53:49.000000000","message":"We could directly use resource_id returned by itertools.groupby.","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d65e595035220b4a4d6d54647a66308df4af04bf","unresolved":false,"context_lines":[{"line_number":384,"context_line":"            min_ts \u003d meter_rows[0][0][\u0027timestamp\u0027]"},{"line_number":385,"context_line":"            max_ts \u003d latest_data[0][\u0027timestamp\u0027]"},{"line_number":386,"context_line":"            yield models.Resource("},{"line_number":387,"context_line":"                resource_id\u003dlatest_data[0][\u0027resource_id\u0027],"},{"line_number":388,"context_line":"                first_sample_timestamp\u003dmin_ts,"},{"line_number":389,"context_line":"                last_sample_timestamp\u003dmax_ts,"},{"line_number":390,"context_line":"                project_id\u003dlatest_data[0][\u0027project_id\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2Fx0E%3D","line":387,"in_reply_to":"AAAAVX%2F%2F0P8%3D","updated":"2014-02-28 11:03:47.000000000","message":"Done","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"5920dbf21507c55612aa261a8c6dde05c99dce96","unresolved":false,"context_lines":[{"line_number":876,"context_line":"            metadata_flattened[k[len(\u0027f:r_metadata.\u0027):]] \u003d load(v)"},{"line_number":877,"context_line":"        else:"},{"line_number":878,"context_line":"            v \u003d load(v)"},{"line_number":879,"context_line":"            flatten_result[k[2:]] \u003d v"},{"line_number":880,"context_line":"    if get_raw_meta:"},{"line_number":881,"context_line":"        metadata \u003d flatten_result.get(\u0027metadata\u0027, {})"},{"line_number":882,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2F0lk%3D","line":879,"updated":"2014-02-28 03:53:49.000000000","message":"just nitpicking,\n\nflatten_result[k[2:]] \u003d load(v)?","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"d65e595035220b4a4d6d54647a66308df4af04bf","unresolved":false,"context_lines":[{"line_number":876,"context_line":"            metadata_flattened[k[len(\u0027f:r_metadata.\u0027):]] \u003d load(v)"},{"line_number":877,"context_line":"        else:"},{"line_number":878,"context_line":"            v \u003d load(v)"},{"line_number":879,"context_line":"            flatten_result[k[2:]] \u003d v"},{"line_number":880,"context_line":"    if get_raw_meta:"},{"line_number":881,"context_line":"        metadata \u003d flatten_result.get(\u0027metadata\u0027, {})"},{"line_number":882,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVX%2F%2Fx0Y%3D","line":879,"in_reply_to":"AAAAVX%2F%2F0lk%3D","updated":"2014-02-28 11:03:47.000000000","message":"Done","commit_id":"14a9bf55b91c7102d790430f01125a5d1e1e8f79"}]}
