)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"01fba701f3202d25be6263a8aa13aeac21b99d60","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Adriano Rosso \u003cadriano.rosso@fit-tecnologia.org.br\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-18 16:43:21 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds the randomic option to cinder retry function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The current retry functionality in Cinder, always uses fixed numbers to"},{"line_number":10,"context_line":"define the time to wait before performing the next attempts. This behaviour"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_6414c843","line":7,"updated":"2015-08-18 20:02:34.000000000","message":"randomic is not a word.  Did you mean \u0027random\u0027 ?","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"1ae2aaf5f65e4a3220ccf6e8e9302480fc2ca7d7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Adriano Rosso \u003cadriano.rosso@fit-tecnologia.org.br\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-08-18 16:43:21 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds the randomic option to cinder retry function"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The current retry functionality in Cinder, always uses fixed numbers to"},{"line_number":10,"context_line":"define the time to wait before performing the next attempts. This behaviour"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_a08cec35","line":7,"in_reply_to":"fa1b9901_6414c843","updated":"2015-08-19 13:44:58.000000000","message":"Done","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"01fba701f3202d25be6263a8aa13aeac21b99d60","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The current retry functionality in Cinder, always uses fixed numbers to"},{"line_number":10,"context_line":"define the time to wait before performing the next attempts. This behaviour"},{"line_number":11,"context_line":"can make the retries of multiple requisitions to colide in each attempt as"},{"line_number":12,"context_line":"they will wait the same amount of time and try to use the same resource"},{"line_number":13,"context_line":"together again."},{"line_number":14,"context_line":"This patch changes the behaviour of cinder.utils.retry() to receive a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_643b68d2","line":11,"updated":"2015-08-18 20:02:34.000000000","message":"colide -\u003e collide","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"1ae2aaf5f65e4a3220ccf6e8e9302480fc2ca7d7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The current retry functionality in Cinder, always uses fixed numbers to"},{"line_number":10,"context_line":"define the time to wait before performing the next attempts. This behaviour"},{"line_number":11,"context_line":"can make the retries of multiple requisitions to colide in each attempt as"},{"line_number":12,"context_line":"they will wait the same amount of time and try to use the same resource"},{"line_number":13,"context_line":"together again."},{"line_number":14,"context_line":"This patch changes the behaviour of cinder.utils.retry() to receive a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_0097d848","line":11,"in_reply_to":"fa1b9901_643b68d2","updated":"2015-08-19 13:44:58.000000000","message":"Done","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"01fba701f3202d25be6263a8aa13aeac21b99d60","unresolved":false,"context_lines":[{"line_number":10,"context_line":"define the time to wait before performing the next attempts. This behaviour"},{"line_number":11,"context_line":"can make the retries of multiple requisitions to colide in each attempt as"},{"line_number":12,"context_line":"they will wait the same amount of time and try to use the same resource"},{"line_number":13,"context_line":"together again."},{"line_number":14,"context_line":"This patch changes the behaviour of cinder.utils.retry() to receive a"},{"line_number":15,"context_line":"parameter that allows the function to implement randomly generated wait"},{"line_number":16,"context_line":"intervals."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_a46e60c7","line":13,"updated":"2015-08-18 20:02:34.000000000","message":"Should have a blank line here.","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"1ae2aaf5f65e4a3220ccf6e8e9302480fc2ca7d7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"define the time to wait before performing the next attempts. This behaviour"},{"line_number":11,"context_line":"can make the retries of multiple requisitions to colide in each attempt as"},{"line_number":12,"context_line":"they will wait the same amount of time and try to use the same resource"},{"line_number":13,"context_line":"together again."},{"line_number":14,"context_line":"This patch changes the behaviour of cinder.utils.retry() to receive a"},{"line_number":15,"context_line":"parameter that allows the function to implement randomly generated wait"},{"line_number":16,"context_line":"intervals."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_40acf09f","line":13,"in_reply_to":"fa1b9901_a46e60c7","updated":"2015-08-19 13:44:58.000000000","message":"Done","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"}],"cinder/utils.py":[{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"30ad4e7a9841b47bdec4f7ee18368a77764f89f1","unresolved":false,"context_lines":[{"line_number":777,"context_line":""},{"line_number":778,"context_line":"    def _backoff_sleep(previous_attempt_number, delay_since_first_attempt_ms):"},{"line_number":779,"context_line":"        exp \u003d backoff_rate ** previous_attempt_number"},{"line_number":780,"context_line":"        wait_for \u003d max(0, interval * exp)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"        if wait_random:"},{"line_number":783,"context_line":"            random.seed()"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_a1e14ed2","line":780,"updated":"2015-08-19 12:32:55.000000000","message":"What sense in max(0, interval * exp) if (interval*exp) is an integer number and will be max? Why not just wait_for \u003d interval*exp?","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"1ae2aaf5f65e4a3220ccf6e8e9302480fc2ca7d7","unresolved":false,"context_lines":[{"line_number":777,"context_line":""},{"line_number":778,"context_line":"    def _backoff_sleep(previous_attempt_number, delay_since_first_attempt_ms):"},{"line_number":779,"context_line":"        exp \u003d backoff_rate ** previous_attempt_number"},{"line_number":780,"context_line":"        wait_for \u003d max(0, interval * exp)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"        if wait_random:"},{"line_number":783,"context_line":"            random.seed()"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_2c421211","line":780,"in_reply_to":"fa1b9901_a1e14ed2","updated":"2015-08-19 13:44:58.000000000","message":"As Erlon said, it was already there and we were trying to change the function as less as possible. Anyway, we also didn\u0027t get why this is being used and will change it.","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"199091b9b857486e0a33ebd3109ad9ade8b233b4","unresolved":false,"context_lines":[{"line_number":777,"context_line":""},{"line_number":778,"context_line":"    def _backoff_sleep(previous_attempt_number, delay_since_first_attempt_ms):"},{"line_number":779,"context_line":"        exp \u003d backoff_rate ** previous_attempt_number"},{"line_number":780,"context_line":"        wait_for \u003d max(0, interval * exp)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"        if wait_random:"},{"line_number":783,"context_line":"            random.seed()"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_f3271d10","line":780,"in_reply_to":"fa1b9901_a1e14ed2","updated":"2015-08-19 12:50:49.000000000","message":"good question, it was there already but i think we could change it","commit_id":"799a534e9f8b3a4572fb931f553b0e1c79a54e0e"}]}
