)]}'
{"doc/source/protection-service/bank-plugin-lease.rst":[{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"974fe0db6380564d7b0b7e6388b6417ebc096b7b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Bank Plugin is a component of smaug (an openstack project working as a service for data protection),"},{"line_number":5,"context_line":"which is responsible for execute CRUD actions in Bank."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The bank is a backend (such as swift) which is used to store the metadata/data of protection"},{"line_number":8,"context_line":"checkpoints. Here, we take swift as an bank implementation example."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"*******"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a68dd71_a66dd599","line":8,"range":{"start_line":7,"start_character":65,"end_line":8,"end_character":11},"updated":"2016-01-22 09:41:34.000000000","message":"I think \u0027metadata/data of protection plan\u0027 will be better.\n\nthe metadata of protection plan is checkpoints.","commit_id":"0ab47e30e2c90397e77105d2d90406aca8003d81"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"974fe0db6380564d7b0b7e6388b6417ebc096b7b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"*******"},{"line_number":12,"context_line":"leases"},{"line_number":13,"context_line":"*******"},{"line_number":14,"context_line":"Checkpoint is maitained with status, which is a enum type: protecting, available, restoring,"},{"line_number":15,"context_line":"deleted, etc."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The status is used for smaug API layer to control access to one checkpoint from users."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a68dd71_06cb8173","line":14,"range":{"start_line":14,"start_character":14,"end_line":14,"end_character":23},"updated":"2016-01-22 09:41:34.000000000","message":"s/maitained/maintained/","commit_id":"0ab47e30e2c90397e77105d2d90406aca8003d81"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"974fe0db6380564d7b0b7e6388b6417ebc096b7b","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"With the \u0027protecting\u0027 status, there\u0027re two cases which we can\u0027t tell the difference:"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"1. The protection service is working and those \u0027protecting\u0027 checkpoints are being executed;"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"2. When the Protection Service crushes, those \u0027protecting\u0027 checkpoints are actually zombie ones;"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a68dd71_662cbd02","line":21,"range":{"start_line":21,"start_character":60,"end_line":21,"end_character":71},"updated":"2016-01-22 09:41:34.000000000","message":"IMO, should be protection plan. Although the protection action of a plan is executed by create a checkpoint RESTAPI, the meaning of checkpoints just is the metadata of a protection plan.","commit_id":"0ab47e30e2c90397e77105d2d90406aca8003d81"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"974fe0db6380564d7b0b7e6388b6417ebc096b7b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"1. The protection service is working and those \u0027protecting\u0027 checkpoints are being executed;"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"2. When the Protection Service crushes, those \u0027protecting\u0027 checkpoints are actually zombie ones;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"In the second case, we need a garbage collection component (GC) to cleanup those zombie checkpoints."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a68dd71_2636c552","line":23,"range":{"start_line":23,"start_character":59,"end_line":23,"end_character":70},"updated":"2016-01-22 09:41:34.000000000","message":"same","commit_id":"0ab47e30e2c90397e77105d2d90406aca8003d81"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"3b64322892cbde20045f5157a97d0f09ac422209","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"validity_window"},{"line_number":142,"context_line":"---------------"},{"line_number":143,"context_line":"- the window estimated by user, how long one update operation will take at most.  The constraint"},{"line_number":144,"context_line":"  here should be: validity_window \u003c expire_window."},{"line_number":145,"context_line":"- Note: Same background as renew_window setting, to allow (N-1) times failure of renew lease, we"},{"line_number":146,"context_line":"  recommend to set validity_window \u003c\u003d renew_window."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a68dd71_7e0fa7e1","line":143,"range":{"start_line":143,"start_character":2,"end_line":143,"end_character":30},"updated":"2016-01-21 06:28:13.000000000","message":"I don\u0027t think it\u0027s appropriate to let user estimate.\nMaybe design a formula to calculate it based on expire_windows and renew_windows.","commit_id":"0ab47e30e2c90397e77105d2d90406aca8003d81"}]}
