)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000457,"name":"Wayne Siu","email":"wayne@couchbase.com","username":"waynesiu","avatars":[{"url":"https://www.gravatar.com/avatar/c0994de42034e4173d3df112ada61fe8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/c0994de42034e4173d3df112ada61fe8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/c0994de42034e4173d3df112ada61fe8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/c0994de42034e4173d3df112ada61fe8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3a47578e6beb3251602e055402191147d16465b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a0f21a79_f6cc6b7f","updated":"2022-07-06 23:47:37.000000000","message":"check approval","commit_id":"cb06211ab76800b95cb9889825671908100466d1"}],"cbrecovery":[{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9e85a0541259f24894a913bde34f7caed8c5bb0","unresolved":true,"context_lines":[{"line_number":128,"context_line":"    def pre_transfer(self, opts, source, sink):"},{"line_number":129,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # NOTE: Request is going to the destination cluster e.g. the one being recovered. Use the correct credentials"},{"line_number":132,"context_line":"        user, pwd \u003d opts.username_dest, opts.password_dest"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieve a list of missing vbucket"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"f8c7d4d8_1b26a65a","line":131,"range":{"start_line":131,"start_character":116,"end_line":131,"end_character":117},"updated":"2022-07-06 13:28:57.000000000","message":"period at the of sentence since you have 2 in a comment","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"233970ba0fe67ac6a6a81cb71b658356fac18aa7","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    def pre_transfer(self, opts, source, sink):"},{"line_number":129,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # NOTE: Request is going to the destination cluster e.g. the one being recovered. Use the correct credentials"},{"line_number":132,"context_line":"        user, pwd \u003d opts.username_dest, opts.password_dest"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        # retrieve a list of missing vbucket"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"b2fbd16a_80686330","line":131,"range":{"start_line":131,"start_character":116,"end_line":131,"end_character":117},"in_reply_to":"f8c7d4d8_1b26a65a","updated":"2022-07-06 13:43:06.000000000","message":"Done","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9e85a0541259f24894a913bde34f7caed8c5bb0","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def post_transfer(self, opts, source, sink, vbucket):"},{"line_number":152,"context_line":"        if not self.sink_bucket:"},{"line_number":153,"context_line":"            return \"Should specify destionation bucket for restore\", None"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":156,"context_line":"        if opts.dry_run:"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"976101eb_ffadb613","line":153,"range":{"start_line":153,"start_character":35,"end_line":153,"end_character":47},"updated":"2022-07-06 13:28:57.000000000","message":"destination","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"233970ba0fe67ac6a6a81cb71b658356fac18aa7","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def post_transfer(self, opts, source, sink, vbucket):"},{"line_number":152,"context_line":"        if not self.sink_bucket:"},{"line_number":153,"context_line":"            return \"Should specify destionation bucket for restore\", None"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":156,"context_line":"        if opts.dry_run:"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"6a8781f3_abdb7685","line":153,"range":{"start_line":153,"start_character":35,"end_line":153,"end_character":47},"in_reply_to":"976101eb_ffadb613","updated":"2022-07-06 13:43:06.000000000","message":"😄","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9e85a0541259f24894a913bde34f7caed8c5bb0","unresolved":true,"context_lines":[{"line_number":152,"context_line":"        if not self.sink_bucket:"},{"line_number":153,"context_line":"            return \"Should specify destionation bucket for restore\", None"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":156,"context_line":"        if opts.dry_run:"},{"line_number":157,"context_line":"            cmd \u003d \"stopRecovery\""},{"line_number":158,"context_line":"            reason_msg \u003d \"Stop recovery\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"d7d57cde_ae74e39b","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":66},"updated":"2022-07-06 13:28:57.000000000","message":"nit: no reason to separate this from the user and pwd assignment comment and line, probably best to move it after the the following 2 if-else\u0027s.","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"55572d12612f233e216826900d6447b8ed54b836","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        if not self.sink_bucket:"},{"line_number":153,"context_line":"            return \"Should specify destionation bucket for restore\", None"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":156,"context_line":"        if opts.dry_run:"},{"line_number":157,"context_line":"            cmd \u003d \"stopRecovery\""},{"line_number":158,"context_line":"            reason_msg \u003d \"Stop recovery\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"bd71d06d_9af61abd","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":66},"in_reply_to":"32216b50_7e49aeb8","updated":"2022-07-06 13:51:06.000000000","message":"Sorry, worded poorly. Yes, I just wanted you to group those lines together like you do in pre_transfer() 👍","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"233970ba0fe67ac6a6a81cb71b658356fac18aa7","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        if not self.sink_bucket:"},{"line_number":153,"context_line":"            return \"Should specify destionation bucket for restore\", None"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        host, port, _, _, path \u003d pump.parse_spec(opts, sink, 8091)"},{"line_number":156,"context_line":"        if opts.dry_run:"},{"line_number":157,"context_line":"            cmd \u003d \"stopRecovery\""},{"line_number":158,"context_line":"            reason_msg \u003d \"Stop recovery\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"32216b50_7e49aeb8","line":155,"range":{"start_line":155,"start_character":8,"end_line":155,"end_character":66},"in_reply_to":"d7d57cde_ae74e39b","updated":"2022-07-06 13:43:06.000000000","message":"I don\u0027t follow.\n\nAre you suggesting to move this just under this?\n\nI did it below because user/pwd are not used in the block of if/elses below.\n\nNoticed that\u0027s the same case for host/port so just moved everything.","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"}],"test/mock_server.py":[{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9e85a0541259f24894a913bde34f7caed8c5bb0","unresolved":true,"context_lines":[{"line_number":129,"context_line":"                return self.handle_fn(fns[\u0027DELETE\u0027], parsed.path, parsed.query)"},{"line_number":130,"context_line":"        self.not_found()"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def auth(self):"},{"line_number":133,"context_line":"        # Username/password \u003d\u003d Administrator/asdasd"},{"line_number":134,"context_line":"        if self.headers.get(\u0027Authorization\u0027) \u003d\u003d f\"Basic QWRtaW5pc3RyYXRvcjphc2Rhc2Q\u003d\":"},{"line_number":135,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"985964fb_9ca1d36a","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":12},"updated":"2022-07-06 13:28:57.000000000","message":"super nit: \"auth_header_set\" maybe?","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"233970ba0fe67ac6a6a81cb71b658356fac18aa7","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                return self.handle_fn(fns[\u0027DELETE\u0027], parsed.path, parsed.query)"},{"line_number":130,"context_line":"        self.not_found()"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def auth(self):"},{"line_number":133,"context_line":"        # Username/password \u003d\u003d Administrator/asdasd"},{"line_number":134,"context_line":"        if self.headers.get(\u0027Authorization\u0027) \u003d\u003d f\"Basic QWRtaW5pc3RyYXRvcjphc2Rhc2Q\u003d\":"},{"line_number":135,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"a4a7883a_5937515c","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":12},"in_reply_to":"985964fb_9ca1d36a","updated":"2022-07-06 13:43:06.000000000","message":"Don\u0027t think \u0027auth_header_set\u0027 works because it might be set, but wrong.\n\nHave changed to \u0027authenticated\u0027 as I think that solves the issue.\n\ne.g. if not authenticated","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"55572d12612f233e216826900d6447b8ed54b836","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                return self.handle_fn(fns[\u0027DELETE\u0027], parsed.path, parsed.query)"},{"line_number":130,"context_line":"        self.not_found()"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def auth(self):"},{"line_number":133,"context_line":"        # Username/password \u003d\u003d Administrator/asdasd"},{"line_number":134,"context_line":"        if self.headers.get(\u0027Authorization\u0027) \u003d\u003d f\"Basic QWRtaW5pc3RyYXRvcjphc2Rhc2Q\u003d\":"},{"line_number":135,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"d9da1199_161f9e7d","line":132,"range":{"start_line":132,"start_character":8,"end_line":132,"end_character":12},"in_reply_to":"a4a7883a_5937515c","updated":"2022-07-06 13:51:06.000000000","message":"Works even better, ty!","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"}],"test/test_cbrecovery.py":[{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"e9e85a0541259f24894a913bde34f7caed8c5bb0","unresolved":true,"context_lines":[{"line_number":39,"context_line":"class RecoveryTest(unittest.TestCase):"},{"line_number":40,"context_line":"    def test_pre_transfer(self):"},{"line_number":41,"context_line":"        server \u003d MockRESTServer(host, port)"},{"line_number":42,"context_line":"        server.set_args({\"/pools/default/buckets/bucket/controller/startRecovery\": {}})"},{"line_number":43,"context_line":"        server.run()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        recovery \u003d cbrecovery.Recovery()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fc9e63a_55eb4046","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":87},"updated":"2022-07-06 13:28:57.000000000","message":"QQ: what does this do, can\u0027t remember from the top of my head","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004460,"name":"James Lee","email":"james.lee@couchbase.com","username":"jamesl33","avatars":[{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52d2998b3f81f6ca2acd4a81886a9a35.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"233970ba0fe67ac6a6a81cb71b658356fac18aa7","unresolved":false,"context_lines":[{"line_number":39,"context_line":"class RecoveryTest(unittest.TestCase):"},{"line_number":40,"context_line":"    def test_pre_transfer(self):"},{"line_number":41,"context_line":"        server \u003d MockRESTServer(host, port)"},{"line_number":42,"context_line":"        server.set_args({\"/pools/default/buckets/bucket/controller/startRecovery\": {}})"},{"line_number":43,"context_line":"        server.run()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        recovery \u003d cbrecovery.Recovery()"}],"source_content_type":"text/x-python","patch_set":2,"id":"a9a3a9d6_2260ca27","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":87},"in_reply_to":"3fc9e63a_55eb4046","updated":"2022-07-06 13:43:06.000000000","message":"The \u0027set_args\u0027 thing, or the endpoint?\n\nThe \u0027set_args\u0027 bit here is required (with an empty JSON object) because we decode the response body, so it must be JSON instead of being empty.\n\nThe endpoint starts vBucket recovery, it\u0027s part of the ns_server recovery API, I believe it creates the missing files on disk so we can start loading the data via cbtransfer.","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"},{"author":{"_account_id":1004855,"name":"Maksimiljans Januska","email":"maks.januska@couchbase.com","username":"yonsken","avatars":[{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/07220ab1da1bfeb73dd92237147f9882.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"55572d12612f233e216826900d6447b8ed54b836","unresolved":false,"context_lines":[{"line_number":39,"context_line":"class RecoveryTest(unittest.TestCase):"},{"line_number":40,"context_line":"    def test_pre_transfer(self):"},{"line_number":41,"context_line":"        server \u003d MockRESTServer(host, port)"},{"line_number":42,"context_line":"        server.set_args({\"/pools/default/buckets/bucket/controller/startRecovery\": {}})"},{"line_number":43,"context_line":"        server.run()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        recovery \u003d cbrecovery.Recovery()"}],"source_content_type":"text/x-python","patch_set":2,"id":"f51e271a_b2529e23","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":87},"in_reply_to":"a9a3a9d6_2260ca27","updated":"2022-07-06 13:51:06.000000000","message":"Yes, the \u0027set_args\u0027 thing. Good know what the endpoint is for as well, thanks!","commit_id":"690d20c94c804ba390f11b8379febb9ef2926977"}]}
