)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8119,"name":"Eric Brown","email":"eric_wade_brown@yahoo.com","username":"ericwb"},"change_message_id":"93f7319ce7791a70e80f4c31bae5fe8e6663e4bb","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tweak memcache lock sleep time and attempts number"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Experiments shows that operations inside the lock usually take much less"},{"line_number":10,"context_line":"than 1 second, which is the worst case of random.random(). The solution"},{"line_number":11,"context_line":"is to increase the number of attempts to acquire the lock more oftenly."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_377878f8","line":9,"updated":"2015-07-24 06:26:53.000000000","message":"Can you provide a link to the experiments, how this was conducted?  I believe you, but am curious of how this was determined.","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"b20863bdc0303e8a7b5b9753be4e9cc31e92d19e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tweak memcache lock sleep time and attempts number"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Experiments shows that operations inside the lock usually take much less"},{"line_number":10,"context_line":"than 1 second, which is the worst case of random.random(). The solution"},{"line_number":11,"context_line":"is to increase the number of attempts to acquire the lock more oftenly."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_f1c21633","line":9,"updated":"2016-05-10 19:45:42.000000000","message":"Including at least basic data would go a long way to making this easier to understand. I get that you don\u0027t have the data anymore, is it possible to reproduce?","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"5f43f6c3b8f91b5b4aa11db01e6af464446f0917","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Tweak memcache lock sleep time and attempts number"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Experiments shows that operations inside the lock usually take much less"},{"line_number":10,"context_line":"than 1 second, which is the worst case of random.random(). The solution"},{"line_number":11,"context_line":"is to increase the number of attempts to acquire the lock more oftenly."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_c61148b1","line":9,"in_reply_to":"3a50d1a3_377878f8","updated":"2015-07-24 17:36:57.000000000","message":"Sorry, I don\u0027t have any data left. But if you are interested, have a look at keystone/token/persistence/backends/kvs.py: def _update_user_token_list for example. This is the function that uses the lock. Wrap it into time counter somehow and get a token. You\u0027ll see that it takes some microseconds to complete.\n\nPlease note that the change does not reduce total max waiting time -- it\u0027s still ~15 seconds.","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"03bc57f84e7c55b06cc8217598b8708e2015c124","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Tweak memcache lock sleep time and attempts number"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Experiments shows that operations inside the lock usually take much less"},{"line_number":10,"context_line":"than 1 second, which is the worst case of random.random(). The solution"},{"line_number":11,"context_line":"is to increase the number of attempts to acquire the lock more oftenly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set sleep time to a number in interval [0, 0.01] and increase the number of"},{"line_number":14,"context_line":"attempts to acquire the lock to 1500."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aa08908_5025a559","line":11,"range":{"start_line":10,"start_character":59,"end_line":11,"end_character":71},"updated":"2016-06-08 23:50:41.000000000","message":"I also agree there is a need to validate this somehow, in order to show it really improves efficiency.","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"679b992d548174070d3cdf436dd01e3b2649e989","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is to increase the number of attempts to acquire the lock more oftenly."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set sleep time to a number in interval [0, 0.01] and increase the number of"},{"line_number":14,"context_line":"attempts to acquire the lock to 1500."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: If07401856c667dafdde3984ee0097ebaca401db4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a50d1a3_b039ab41","line":14,"updated":"2015-07-31 14:47:21.000000000","message":"This looks like it could cause a busy wait now. What happens when the server is under high load? What types of testing did you do to ensure this doesn\u0027t happen under heavy load or when the connection to memcache starts to experience some latency?","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"b20863bdc0303e8a7b5b9753be4e9cc31e92d19e","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set sleep time to a number in interval [0, 0.01] and increase the number of"},{"line_number":14,"context_line":"attempts to acquire the lock to 1500."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: If07401856c667dafdde3984ee0097ebaca401db4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_d1bf12a8","line":15,"updated":"2016-05-10 19:45:42.000000000","message":"Please open a bug/tracker for this. I would like this to also have a releasenote","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"03bc57f84e7c55b06cc8217598b8708e2015c124","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Set sleep time to a number in interval [0, 0.01] and increase the number of"},{"line_number":14,"context_line":"attempts to acquire the lock to 1500."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: If07401856c667dafdde3984ee0097ebaca401db4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aa08908_904eed38","line":15,"in_reply_to":"dab17558_d1bf12a8","updated":"2016-06-08 23:50:41.000000000","message":"++","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"}],"keystone/common/kvs/backends/memcached.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"b20863bdc0303e8a7b5b9753be4e9cc31e92d19e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.no_expiry_hashed_keys \u003d set()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        self.lock_timeout \u003d arguments.pop(\u0027lock_timeout\u0027, None)"},{"line_number":90,"context_line":"        self.max_lock_attempts \u003d arguments.pop(\u0027max_lock_attempts\u0027, 1500)"},{"line_number":91,"context_line":"        # NOTE(morganfainberg): Remove distributed locking from the arguments"},{"line_number":92,"context_line":"        # passed to the \"real\" backend if it exists."},{"line_number":93,"context_line":"        arguments.pop(\u0027distributed_lock\u0027, None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_91c90a5c","line":90,"updated":"2016-05-10 19:45:42.000000000","message":"I do worry about this spinning a lot at 1500 attempts","commit_id":"4e7ca12542b9c429f36a8df0b01c33cc6edaaaff"}]}
