)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1003869,"name":"Couchbase Robot","email":"build-team@couchbase.com","username":"cb-robot","avatars":[{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"70bb12ef661f3624a245de1439040788f217a7eb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7e50fc17_10baa22d","updated":"2026-05-10 15:33:12.000000000","message":"The commit message lacks detail and does not provide enough context about the changes made. A clearer commit message would be \u0027Fix issue with bucket creation failure due to insufficient RAM quota by adjusting the RAM quota allocation logic in the backup utilities.\u0027","commit_id":"54808d8c3b7cdb4be2a8f2702677018afdb0ef9d"}],"couchbase_utils/backup_utils/backup_utils.py":[{"author":{"_account_id":1003869,"name":"Couchbase Robot","email":"build-team@couchbase.com","username":"cb-robot","avatars":[{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"70bb12ef661f3624a245de1439040788f217a7eb","unresolved":true,"context_lines":[{"line_number":114,"context_line":"                continue"},{"line_number":115,"context_line":"            restore_bucket_name \u003d f\"{bucket.name}_cont_restore_{int(time.time())}\""},{"line_number":116,"context_line":"            self.log.info(f\"Performing continuous restore (PITR) for bucket: {bucket.name}\")"},{"line_number":117,"context_line":"            bucket_util.delete_bucket(cluster, bucket)"},{"line_number":118,"context_line":"            self._create_restore_bucket(bucket_util, cluster, restore_bucket_name, bucket)"},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                cluster_host \u003d f\"http://{cluster.master.ip}:8091\""}],"source_content_type":"text/x-python","patch_set":1,"id":"ce70af4d_495ec06a","line":117,"range":{"start_line":117,"start_character":12,"end_line":117,"end_character":54},"updated":"2026-05-10 15:33:12.000000000","message":"The deletion of a bucket before creating a restore bucket in the \u0027verify_backup_and_restore\u0027 method could lead to data loss if not handled properly. Ensure that the bucket deletion is necessary and that all data is backed up before proceeding with this operation.","commit_id":"54808d8c3b7cdb4be2a8f2702677018afdb0ef9d"},{"author":{"_account_id":1005386,"name":"anishasinha-automation","display_name":"anisha","email":"anisha.sinha@couchbase.com","username":"anishasinha-automation","avatars":[{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"bf945cd512553fbefe8b4062b80e2c297a01a1de","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                continue"},{"line_number":115,"context_line":"            restore_bucket_name \u003d f\"{bucket.name}_cont_restore_{int(time.time())}\""},{"line_number":116,"context_line":"            self.log.info(f\"Performing continuous restore (PITR) for bucket: {bucket.name}\")"},{"line_number":117,"context_line":"            bucket_util.delete_bucket(cluster, bucket)"},{"line_number":118,"context_line":"            self._create_restore_bucket(bucket_util, cluster, restore_bucket_name, bucket)"},{"line_number":119,"context_line":"            try:"},{"line_number":120,"context_line":"                cluster_host \u003d f\"http://{cluster.master.ip}:8091\""}],"source_content_type":"text/x-python","patch_set":1,"id":"93e95839_e01330b5","line":117,"range":{"start_line":117,"start_character":12,"end_line":117,"end_character":54},"in_reply_to":"ce70af4d_495ec06a","updated":"2026-05-11 05:20:23.000000000","message":"Acknowledged","commit_id":"54808d8c3b7cdb4be2a8f2702677018afdb0ef9d"},{"author":{"_account_id":1003869,"name":"Couchbase Robot","email":"build-team@couchbase.com","username":"cb-robot","avatars":[{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"bfe2481db42e0974fe287c3a7121068239fe507b","unresolved":true,"context_lines":[{"line_number":112,"context_line":"                self.log.info(f\"Skipping continuous restore verification for {bucket.name}: \""},{"line_number":113,"context_line":"                              f\"storage backend is {bucket.storageBackend}, not magma\")"},{"line_number":114,"context_line":"                continue"},{"line_number":115,"context_line":"            restore_bucket_name \u003d f\"{bucket.name}\""},{"line_number":116,"context_line":"            self.log.info(f\"Performing continuous restore (PITR) for bucket: {bucket.name}\")"},{"line_number":117,"context_line":"            self._create_restore_bucket(bucket_util, cluster, restore_bucket_name, bucket)"},{"line_number":118,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1969e382_d70c66a0","line":115,"range":{"start_line":115,"start_character":12,"end_line":115,"end_character":50},"updated":"2026-05-10 15:43:10.000000000","message":"The change to the bucket name in the restore process removes the unique timestamp suffix, which may lead to conflicts if multiple restores are attempted simultaneously. Consider maintaining a unique identifier for each restore operation to avoid potential conflicts.","commit_id":"066f003fc307ee11cdeefd6a8ce6f6786668213e"},{"author":{"_account_id":1005386,"name":"anishasinha-automation","display_name":"anisha","email":"anisha.sinha@couchbase.com","username":"anishasinha-automation","avatars":[{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"bf945cd512553fbefe8b4062b80e2c297a01a1de","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                self.log.info(f\"Skipping continuous restore verification for {bucket.name}: \""},{"line_number":113,"context_line":"                              f\"storage backend is {bucket.storageBackend}, not magma\")"},{"line_number":114,"context_line":"                continue"},{"line_number":115,"context_line":"            restore_bucket_name \u003d f\"{bucket.name}\""},{"line_number":116,"context_line":"            self.log.info(f\"Performing continuous restore (PITR) for bucket: {bucket.name}\")"},{"line_number":117,"context_line":"            self._create_restore_bucket(bucket_util, cluster, restore_bucket_name, bucket)"},{"line_number":118,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d10f8a81_7f73dbed","line":115,"range":{"start_line":115,"start_character":12,"end_line":115,"end_character":50},"in_reply_to":"1969e382_d70c66a0","updated":"2026-05-11 05:20:23.000000000","message":"Acknowledged","commit_id":"066f003fc307ee11cdeefd6a8ce6f6786668213e"},{"author":{"_account_id":1003869,"name":"Couchbase Robot","email":"build-team@couchbase.com","username":"cb-robot","avatars":[{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/d465bd97bd9f40f1453c5b112ef4a021.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"bfe2481db42e0974fe287c3a7121068239fe507b","unresolved":true,"context_lines":[{"line_number":165,"context_line":"        bucket_type \u003d source_bucket.bucketType"},{"line_number":166,"context_line":"        replica \u003d source_bucket.replicaNumber"},{"line_number":167,"context_line":"        storage \u003d source_bucket.storageBackend"},{"line_number":168,"context_line":"        ram_quota \u003d source_bucket.ramQuotaMB"},{"line_number":169,"context_line":"        bucket_util.delete_bucket(cluster, source_bucket)"},{"line_number":170,"context_line":"        bucket_util.create_default_bucket("},{"line_number":171,"context_line":"            cluster,"}],"source_content_type":"text/x-python","patch_set":3,"id":"6605b941_ea16600e","line":168,"range":{"start_line":168,"start_character":8,"end_line":168,"end_character":44},"updated":"2026-05-10 15:43:10.000000000","message":"The removal of the conditional RAM quota adjustment for Magma storage backend may lead to issues if the default RAM quota is insufficient. Ensure that the RAM quota is adequate for all storage backends to prevent bucket creation failures.","commit_id":"066f003fc307ee11cdeefd6a8ce6f6786668213e"},{"author":{"_account_id":1005386,"name":"anishasinha-automation","display_name":"anisha","email":"anisha.sinha@couchbase.com","username":"anishasinha-automation","avatars":[{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/e47d8d1bcf2575e61c43fe66b902d803.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"bf945cd512553fbefe8b4062b80e2c297a01a1de","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        bucket_type \u003d source_bucket.bucketType"},{"line_number":166,"context_line":"        replica \u003d source_bucket.replicaNumber"},{"line_number":167,"context_line":"        storage \u003d source_bucket.storageBackend"},{"line_number":168,"context_line":"        ram_quota \u003d source_bucket.ramQuotaMB"},{"line_number":169,"context_line":"        bucket_util.delete_bucket(cluster, source_bucket)"},{"line_number":170,"context_line":"        bucket_util.create_default_bucket("},{"line_number":171,"context_line":"            cluster,"}],"source_content_type":"text/x-python","patch_set":3,"id":"395cbcde_5c3f3315","line":168,"range":{"start_line":168,"start_character":8,"end_line":168,"end_character":44},"in_reply_to":"6605b941_ea16600e","updated":"2026-05-11 05:20:23.000000000","message":"Acknowledged","commit_id":"066f003fc307ee11cdeefd6a8ce6f6786668213e"}]}
