)]}'
{"designate/central/service.py":[{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"3a4688234da708e371d34895b14f9a8b181af28e","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if zone_id in ZONE_LOCKS.held:"},{"line_number":118,"context_line":"                return f(self, *args, **kwargs)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            with lockutils.lock(lock_name):"},{"line_number":121,"context_line":"                try:"},{"line_number":122,"context_line":"                    ZONE_LOCKS.held.add(zone_id)"},{"line_number":123,"context_line":"                    return f(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfbec78f_b139add7","line":120,"updated":"2019-05-16 11:30:18.000000000","message":"sorry to barge in over here; support a task (op1) is on going and there is op2 to be done then \nthe existing lock will be re-used. but when op1 is done the lock will be removed even though op2 is still ongoing.\n\nIs this how it is expected to work, or am I missing something.","commit_id":"6f13191a6c939d4f38955f8cb0a67f305b463bd1"},{"author":{"_account_id":23735,"name":"sumitjami","email":"sjamgade@suse.com","username":"nthforloop"},"change_message_id":"db667a2e00ae9bc81340ffd7fd6f3e6646680f77","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if zone_id in ZONE_LOCKS.held:"},{"line_number":118,"context_line":"                return f(self, *args, **kwargs)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            with lockutils.lock(lock_name):"},{"line_number":121,"context_line":"                try:"},{"line_number":122,"context_line":"                    ZONE_LOCKS.held.add(zone_id)"},{"line_number":123,"context_line":"                    return f(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_733beed0","line":120,"in_reply_to":"bfb3d3c7_90269fb7","updated":"2019-05-20 09:37:42.000000000","message":"Alright, thanks for the explanation.","commit_id":"6f13191a6c939d4f38955f8cb0a67f305b463bd1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"e1cd62bb1e7c0576f51c1aba3917cf4ebd61fcfa","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if zone_id in ZONE_LOCKS.held:"},{"line_number":118,"context_line":"                return f(self, *args, **kwargs)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            with lockutils.lock(lock_name):"},{"line_number":121,"context_line":"                try:"},{"line_number":122,"context_line":"                    ZONE_LOCKS.held.add(zone_id)"},{"line_number":123,"context_line":"                    return f(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_90269fb7","line":120,"in_reply_to":"bfb3d3c7_f5582d57","updated":"2019-05-19 06:44:03.000000000","message":"Actually - so only a single task can run per thread, so op1 would only run on thread 1, and op 2 would run on a separate thread. This means that only one thread and one task at a time can hold the lock. If there are multiple create zone events, only a single thread can be process those at a time.","commit_id":"6f13191a6c939d4f38955f8cb0a67f305b463bd1"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"739dc308dcc8c29d5c03a780cecaf355e17f9d38","unresolved":false,"context_lines":[{"line_number":117,"context_line":"            if zone_id in ZONE_LOCKS.held:"},{"line_number":118,"context_line":"                return f(self, *args, **kwargs)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            with lockutils.lock(lock_name):"},{"line_number":121,"context_line":"                try:"},{"line_number":122,"context_line":"                    ZONE_LOCKS.held.add(zone_id)"},{"line_number":123,"context_line":"                    return f(self, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_f5582d57","line":120,"in_reply_to":"dfbec78f_b139add7","updated":"2019-05-19 05:37:38.000000000","message":"I think I understand what you mean. To be clear are you saying that is how this always worked, or are you saying it\u0027s being introduced by these changes?","commit_id":"6f13191a6c939d4f38955f8cb0a67f305b463bd1"}]}
