)]}'
{"test/probe/common.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"914f7dcff30d91467bcdb8d7136a2b48bb3d9c58","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def device_dir(self, server, node, part\u003dNone, policy\u003dNone):"},{"line_number":296,"context_line":"        policy \u003d policy or self.policy"},{"line_number":297,"context_line":"        dev_dir \u003d self.storage_dir(server, node, part,"},{"line_number":298,"context_line":"                                   policy).rstrip(get_data_dir(policy))"},{"line_number":299,"context_line":"        return dev_dir"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    def get_to_final_state(self):"}],"source_content_type":"text/x-python","patch_set":29,"id":"baa041b7_4324220c","line":298,"updated":"2015-04-02 17:46:32.000000000","message":"does that work? storage_dir appends get_data_dir followed by partition so how does rstrip match get_data_dir(policy)?","commit_id":"54521935776c0c4dd121201309ae52d3e932454c"}],"test/probe/test_reconstructor_rebuild.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"914f7dcff30d91467bcdb8d7136a2b48bb3d9c58","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        self.assertEqual(fragment_archive_etag,"},{"line_number":116,"context_line":"                         self.direct_get(node, part))"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        # check meta"},{"line_number":119,"context_line":"        meta \u003d client.head_object(self.url, self.token,"},{"line_number":120,"context_line":"                                  self.container_name,"},{"line_number":121,"context_line":"                                  self.object_name)"}],"source_content_type":"text/x-python","patch_set":29,"id":"baa041b7_e331f60c","line":118,"updated":"2015-04-02 17:46:32.000000000","message":"should this be targetted at the node that got rebuilt?","commit_id":"54521935776c0c4dd121201309ae52d3e932454c"}],"test/probe/test_reconstructor_revert.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"914f7dcff30d91467bcdb8d7136a2b48bb3d9c58","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from swiftclient import client"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class Body(object):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def __init__(self, total\u003d3.5 * 2 ** 20):"},{"line_number":34,"context_line":"        self.total \u003d total"}],"source_content_type":"text/x-python","patch_set":29,"id":"baa041b7_75aa39d6","line":31,"updated":"2015-04-02 17:46:32.000000000","message":"move to probe/common.py ?","commit_id":"54521935776c0c4dd121201309ae52d3e932454c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"914f7dcff30d91467bcdb8d7136a2b48bb3d9c58","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                          headers\u003dheaders)"},{"line_number":116,"context_line":"        client.post_object(self.url, self.token, self.container_name,"},{"line_number":117,"context_line":"                           self.object_name, headers\u003dheaders_post)"},{"line_number":118,"context_line":"        del headers_post[\u0027X-Auth-Token\u0027]  # WTF, where did this come from?"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        # these primaries can\u0027t servce the data any more, we expect 507"},{"line_number":121,"context_line":"        # here and not 404 because we\u0027re using mount_check to kill nodes"}],"source_content_type":"text/x-python","patch_set":29,"id":"baa041b7_f5bbe90c","line":118,"updated":"2015-04-02 17:46:32.000000000","message":"tempauth? :D","commit_id":"54521935776c0c4dd121201309ae52d3e932454c"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"914f7dcff30d91467bcdb8d7136a2b48bb3d9c58","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        for onode in (onodes[0], onodes[2]):"},{"line_number":161,"context_line":"            self.direct_get(onode, opart)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        # check meta"},{"line_number":164,"context_line":"        meta \u003d client.head_object(self.url, self.token,"},{"line_number":165,"context_line":"                                  self.container_name,"},{"line_number":166,"context_line":"                                  self.object_name)"}],"source_content_type":"text/x-python","patch_set":29,"id":"baa041b7_15776d3b","line":163,"updated":"2015-04-02 17:46:32.000000000","message":"does this need to check meta on the reconstructed primaries specifically?","commit_id":"54521935776c0c4dd121201309ae52d3e932454c"}]}
