)]}'
{"cinder/backup/manager.py":[{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"74924ebff707aa8dc7daed6b5714c7f8063caa52","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        self.backup_rpcapi \u003d backup_rpcapi.BackupAPI()"},{"line_number":182,"context_line":"        self.volume_rpcapi \u003d volume_rpcapi.VolumeAPI()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @utils.synchronized(\u0027backup-pgid-%s\u0027 % os.getpgrp(),"},{"line_number":185,"context_line":"                        external\u003dTrue, delay\u003d0.1)"},{"line_number":186,"context_line":"    def _cleanup_incomplete_backup_operations(self, ctxt):"},{"line_number":187,"context_line":"        # Only the first launched process should do the cleanup, the others"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_5178c5bf","line":184,"range":{"start_line":184,"start_character":43,"end_line":184,"end_character":55},"updated":"2018-07-03 16:14:37.000000000","message":"Do we really need to include the process group in the lock name?\n\nThis breaks Windows compatibility, the backup service no longer starting on Windows.","commit_id":"66b1a0049ab78754a5e90c182b09ec501596458c"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c23a70a6197e2f1431dedd64ff610a75dceb8450","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        self.backup_rpcapi \u003d backup_rpcapi.BackupAPI()"},{"line_number":182,"context_line":"        self.volume_rpcapi \u003d volume_rpcapi.VolumeAPI()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @utils.synchronized(\u0027backup-pgid-%s\u0027 % os.getpgrp(),"},{"line_number":185,"context_line":"                        external\u003dTrue, delay\u003d0.1)"},{"line_number":186,"context_line":"    def _cleanup_incomplete_backup_operations(self, ctxt):"},{"line_number":187,"context_line":"        # Only the first launched process should do the cleanup, the others"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f3e782aa","line":184,"range":{"start_line":184,"start_character":43,"end_line":184,"end_character":55},"in_reply_to":"5f7c97a3_5178c5bf","updated":"2018-07-17 12:30:39.000000000","message":"We could be running multiple backup services in the same host, so we need a per service lock.  What would be the Windows equivalent?","commit_id":"66b1a0049ab78754a5e90c182b09ec501596458c"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"3f1efb63575373f9069b6dd4a9cafaefdca21a82","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        self.backup_rpcapi \u003d backup_rpcapi.BackupAPI()"},{"line_number":182,"context_line":"        self.volume_rpcapi \u003d volume_rpcapi.VolumeAPI()"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    @utils.synchronized(\u0027backup-pgid-%s\u0027 % os.getpgrp(),"},{"line_number":185,"context_line":"                        external\u003dTrue, delay\u003d0.1)"},{"line_number":186,"context_line":"    def _cleanup_incomplete_backup_operations(self, ctxt):"},{"line_number":187,"context_line":"        # Only the first launched process should do the cleanup, the others"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_4cbf7a5f","line":184,"range":{"start_line":184,"start_character":43,"end_line":184,"end_character":55},"in_reply_to":"5f7c97a3_f3e782aa","updated":"2018-07-19 10:48:58.000000000","message":"Makes sense, I was thinking only about multiple workers of the same service.\n\nThe concept of process groups exists on Windows as well, although the API for it is rather incomplete (you can\u0027t fetch the PGID). We\u0027re some times using job objects instead to group processes (which in fact are quite similar to cgroups).","commit_id":"66b1a0049ab78754a5e90c182b09ec501596458c"}],"cinder/cmd/backup.py":[{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"27a30b0319210fadf96096b1e25a5ea9bd15830e","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"backup_processes_opt \u003d cfg.IntOpt("},{"line_number":53,"context_line":"    \u0027backup_processes\u0027,"},{"line_number":54,"context_line":"    default\u003d1, min\u003d0, max\u003dprocessutils.get_worker_count(),"},{"line_number":55,"context_line":"    help\u003d\u0027Number of backup processes to launch. Improves performance with \u0027"},{"line_number":56,"context_line":"    \u0027concurrent backups.\u0027)"},{"line_number":57,"context_line":"CONF.register_opt(backup_processes_opt)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_df8398cb","line":54,"range":{"start_line":54,"start_character":19,"end_line":54,"end_character":20},"updated":"2018-02-08 05:08:45.000000000","message":"nit: should this start with 1?","commit_id":"304300780e22ed352a4e7374c1f2b38afbb17dd9"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"48aa504a6717072e0976e2c0c84801ade9472649","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"backup_processes_opt \u003d cfg.IntOpt("},{"line_number":53,"context_line":"    \u0027backup_processes\u0027,"},{"line_number":54,"context_line":"    default\u003d1, min\u003d0, max\u003dprocessutils.get_worker_count(),"},{"line_number":55,"context_line":"    help\u003d\u0027Number of backup processes to launch. Improves performance with \u0027"},{"line_number":56,"context_line":"    \u0027concurrent backups.\u0027)"},{"line_number":57,"context_line":"CONF.register_opt(backup_processes_opt)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_19935151","line":54,"range":{"start_line":54,"start_character":19,"end_line":54,"end_character":20},"in_reply_to":"3fa0c359_df8398cb","updated":"2018-02-08 14:24:32.000000000","message":"rofl, yup, we really HAVE to start with 1, thanks.","commit_id":"304300780e22ed352a4e7374c1f2b38afbb17dd9"},{"author":{"_account_id":13157,"name":"Zhao Chao","email":"zhaochao1984@gmail.com","username":"zhaochao"},"change_message_id":"27a30b0319210fadf96096b1e25a5ea9bd15830e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        LOG.debug(\u0027Backup running in single process mode.\u0027)"},{"line_number":110,"context_line":"        server \u003d service.Service.create(binary\u003d\u0027cinder-backup\u0027,"},{"line_number":111,"context_line":"                                        coordination\u003dTrue,"},{"line_number":112,"context_line":"                                        process_number\u003d1)"},{"line_number":113,"context_line":"        service.serve(server)"},{"line_number":114,"context_line":"        service.wait()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_1fbfc061","line":112,"range":{"start_line":112,"start_character":40,"end_line":112,"end_character":56},"updated":"2018-02-08 05:08:45.000000000","message":"nit: as backup manager use process_number\u003d1 by default, this argument is not neccessary.","commit_id":"304300780e22ed352a4e7374c1f2b38afbb17dd9"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"48aa504a6717072e0976e2c0c84801ade9472649","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        LOG.debug(\u0027Backup running in single process mode.\u0027)"},{"line_number":110,"context_line":"        server \u003d service.Service.create(binary\u003d\u0027cinder-backup\u0027,"},{"line_number":111,"context_line":"                                        coordination\u003dTrue,"},{"line_number":112,"context_line":"                                        process_number\u003d1)"},{"line_number":113,"context_line":"        service.serve(server)"},{"line_number":114,"context_line":"        service.wait()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_f9dd4514","line":112,"range":{"start_line":112,"start_character":40,"end_line":112,"end_character":56},"in_reply_to":"3fa0c359_1fbfc061","updated":"2018-02-08 14:24:32.000000000","message":"I prefer to make it explicit.","commit_id":"304300780e22ed352a4e7374c1f2b38afbb17dd9"},{"author":{"_account_id":27248,"name":"Prateek Goel","email":"prateek.goel2@tatacommunications.com","username":"prateek.goel"},"change_message_id":"5ed8695ad1aaed092183f419dfcdc0d66aaaf40b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"CONF \u003d cfg.CONF"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"backup_processes_opt \u003d cfg.IntOpt("},{"line_number":53,"context_line":"    \u0027backup_processes\u0027,"},{"line_number":54,"context_line":"    default\u003d1, min\u003d1, max\u003dprocessutils.get_worker_count(),"},{"line_number":55,"context_line":"    help\u003d\u0027Number of backup processes to launch. Improves performance with \u0027"},{"line_number":56,"context_line":"    \u0027concurrent backups.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_271158ad","line":53,"range":{"start_line":53,"start_character":5,"end_line":53,"end_character":21},"updated":"2018-02-19 17:39:56.000000000","message":"Most of the places it is termed as workers, so would you want to reconsider this option name as backup_workers in config file.","commit_id":"3398454c09e1f516d94f9c76e6a9dc359602ba51"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bad31477d22763093866d375d460a94eca1e6325","unresolved":false,"context_lines":[{"line_number":50,"context_line":"CONF \u003d cfg.CONF"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"backup_processes_opt \u003d cfg.IntOpt("},{"line_number":53,"context_line":"    \u0027backup_processes\u0027,"},{"line_number":54,"context_line":"    default\u003d1, min\u003d1, max\u003dprocessutils.get_worker_count(),"},{"line_number":55,"context_line":"    help\u003d\u0027Number of backup processes to launch. Improves performance with \u0027"},{"line_number":56,"context_line":"    \u0027concurrent backups.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_d3dd8370","line":53,"range":{"start_line":53,"start_character":5,"end_line":53,"end_character":21},"in_reply_to":"3fa0c359_24094494","updated":"2018-03-14 09:51:15.000000000","message":"Done","commit_id":"3398454c09e1f516d94f9c76e6a9dc359602ba51"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"99fb7d98ce5087fc9a2d7c82352a7e8e7ecfb2ce","unresolved":false,"context_lines":[{"line_number":50,"context_line":"CONF \u003d cfg.CONF"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"backup_processes_opt \u003d cfg.IntOpt("},{"line_number":53,"context_line":"    \u0027backup_processes\u0027,"},{"line_number":54,"context_line":"    default\u003d1, min\u003d1, max\u003dprocessutils.get_worker_count(),"},{"line_number":55,"context_line":"    help\u003d\u0027Number of backup processes to launch. Improves performance with \u0027"},{"line_number":56,"context_line":"    \u0027concurrent backups.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_f936a5b4","line":53,"range":{"start_line":53,"start_character":5,"end_line":53,"end_character":21},"in_reply_to":"3fa0c359_271158ad","updated":"2018-02-20 09:18:44.000000000","message":"I purposely used the name to processes to avoid confusion with the workers REST API and tables that we have in Cinder.  Otherwise people could think they are related.","commit_id":"3398454c09e1f516d94f9c76e6a9dc359602ba51"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"2ec9aa59a0a48d9f01c6d21c4289279dc4c239ab","unresolved":false,"context_lines":[{"line_number":50,"context_line":"CONF \u003d cfg.CONF"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"backup_processes_opt \u003d cfg.IntOpt("},{"line_number":53,"context_line":"    \u0027backup_processes\u0027,"},{"line_number":54,"context_line":"    default\u003d1, min\u003d1, max\u003dprocessutils.get_worker_count(),"},{"line_number":55,"context_line":"    help\u003d\u0027Number of backup processes to launch. Improves performance with \u0027"},{"line_number":56,"context_line":"    \u0027concurrent backups.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_24094494","line":53,"range":{"start_line":53,"start_character":5,"end_line":53,"end_character":21},"in_reply_to":"3fa0c359_f936a5b4","updated":"2018-02-20 09:52:13.000000000","message":"Forgot to mention, that if we think the likelihood of naming it with the workers word is unlikely and it\u0027s more important to be consistent with the naming I can change it.","commit_id":"3398454c09e1f516d94f9c76e6a9dc359602ba51"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2c98d09e494cca7d768eaeb929b4482b7fb74de5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    if CONF.backup_processes \u003e 1:"},{"line_number":101,"context_line":"        LOG.debug(\u0027Backup running with %s processes.\u0027, CONF.backup_processes)"},{"line_number":102,"context_line":"        launcher \u003d service.get_launcher()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        for i in range(CONF.backup_processes):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_98d6a327","line":101,"range":{"start_line":101,"start_character":12,"end_line":101,"end_character":17},"updated":"2018-03-10 00:04:01.000000000","message":"I think this and the next log should be INFO level.","commit_id":"3398454c09e1f516d94f9c76e6a9dc359602ba51"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"bad31477d22763093866d375d460a94eca1e6325","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    LOG \u003d logging.getLogger(__name__)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    if CONF.backup_processes \u003e 1:"},{"line_number":101,"context_line":"        LOG.debug(\u0027Backup running with %s processes.\u0027, CONF.backup_processes)"},{"line_number":102,"context_line":"        launcher \u003d service.get_launcher()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        for i in range(CONF.backup_processes):"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7087c5_3372bfae","line":101,"range":{"start_line":101,"start_character":12,"end_line":101,"end_character":17},"in_reply_to":"df7087c5_98d6a327","updated":"2018-03-14 09:51:15.000000000","message":"True","commit_id":"3398454c09e1f516d94f9c76e6a9dc359602ba51"}]}
