)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"c3805ad6f73399c33e52fdb69305ef84f84466ea","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The function added in the patch is to be used as an auxiliary"},{"line_number":10,"context_line":"tool in a forthcoming implementation of distribluted load generation"},{"line_number":11,"context_line":"functionality"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I482d0e81a92eb9e783b73120478f98149fbcba96"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a26ad4f_e450e360","line":11,"updated":"2015-10-29 11:24:57.000000000","message":"I think we need to see somewhere algorithm description","commit_id":"6d4e1f96f36324d11a131831abd334c0f8001c48"}],"rally/common/utils.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"c3805ad6f73399c33e52fdb69305ef84f84466ea","unresolved":false,"context_lines":[{"line_number":502,"context_line":""},{"line_number":503,"context_line":"    :param: length, expected length of generated lists."},{"line_number":504,"context_line":"                    Each produced list except the last one"},{"line_number":505,"context_line":"                    will have lenght no less than the expected one"},{"line_number":506,"context_line":"    :param: sources, generators that produce lists of items to merge"},{"line_number":507,"context_line":"    \"\"\""},{"line_number":508,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a26ad4f_0ce67db4","line":505,"updated":"2015-10-29 11:24:57.000000000","message":"This description is too hard for me) My suggestion: \"length of the resulted lists would be greater or equal to \u0027length\u0027, except the last one\". And the is a typo *length","commit_id":"6d4e1f96f36324d11a131831abd334c0f8001c48"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"c3805ad6f73399c33e52fdb69305ef84f84466ea","unresolved":false,"context_lines":[{"line_number":503,"context_line":"    :param: length, expected length of generated lists."},{"line_number":504,"context_line":"                    Each produced list except the last one"},{"line_number":505,"context_line":"                    will have lenght no less than the expected one"},{"line_number":506,"context_line":"    :param: sources, generators that produce lists of items to merge"},{"line_number":507,"context_line":"    \"\"\""},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"    streams \u003d ["}],"source_content_type":"text/x-python","patch_set":4,"id":"1a26ad4f_0c4afdc5","line":506,"updated":"2015-10-29 11:24:57.000000000","message":"I think that for this function would be great to see computational complexity.","commit_id":"6d4e1f96f36324d11a131831abd334c0f8001c48"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"c3805ad6f73399c33e52fdb69305ef84f84466ea","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        out_chunk \u003d []"},{"line_number":515,"context_line":"        while len(out_chunk) \u003c length:"},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"            # Least right item among streams"},{"line_number":518,"context_line":"            lri \u003d None"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"            # Refresh data if needed"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a26ad4f_93c5af3d","line":517,"updated":"2015-10-29 11:24:57.000000000","message":"Need more details why we choose it as pivot element for partitioning","commit_id":"6d4e1f96f36324d11a131831abd334c0f8001c48"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"c3805ad6f73399c33e52fdb69305ef84f84466ea","unresolved":false,"context_lines":[{"line_number":518,"context_line":"            lri \u003d None"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"            # Refresh data if needed"},{"line_number":521,"context_line":"            for id, s in enumerate(streams):"},{"line_number":522,"context_line":"                if s[\"gen\"] and not s[\"data\"]:"},{"line_number":523,"context_line":"                    try:"},{"line_number":524,"context_line":"                        s[\"data\"] \u003d next(s[\"gen\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a26ad4f_07b72187","line":521,"updated":"2015-10-29 11:24:57.000000000","message":"Do we use \u0027id\u0027? We might able to use here iter(). As I understand fox s in \u0027lst\u0027 statement will store \u0027lst\u0027 in memory, iter() might not.","commit_id":"6d4e1f96f36324d11a131831abd334c0f8001c48"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2a164749f5dc464ffd019c14aee6e2857e057158","unresolved":false,"context_lines":[{"line_number":410,"context_line":"    prints out:"},{"line_number":411,"context_line":"        [1, 2, 2, 3, 4, 5, 5, 5, 5, 7, 7, 9, 9, 10]"},{"line_number":412,"context_line":"        [11, 14, 14, 14, 16, 17, 19, 19, 21, 23, 23]"},{"line_number":413,"context_line":"        [26, 36, 41, 91]"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    :param: length, expected length of generated lists."},{"line_number":416,"context_line":"                    Length of the resulted lists would be greater"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa80f949_c6d5e2b9","line":413,"updated":"2015-11-03 11:46:16.000000000","message":"Is this normal that len([26, 36, 41, 91]) is 4, but value of length was 10?\n\nThis contradicts definition \"... into lists with the length greater or equal to given one\"","commit_id":"ef656301d671698f7d8e2f2b5900b53ab2e5b7bf"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"33018f03c38439398f284d0d47340b6e3554a2f8","unresolved":false,"context_lines":[{"line_number":410,"context_line":"    prints out:"},{"line_number":411,"context_line":"        [1, 2, 2, 3, 4, 5, 5, 5, 5, 7, 7, 9, 9, 10]"},{"line_number":412,"context_line":"        [11, 14, 14, 14, 16, 17, 19, 19, 21, 23, 23]"},{"line_number":413,"context_line":"        [26, 36, 41, 91]"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    :param: length, expected length of generated lists."},{"line_number":416,"context_line":"                    Length of the resulted lists would be greater"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa80f949_c15b8c2d","line":413,"in_reply_to":"fa80f949_462c92ab","updated":"2015-11-03 11:52:22.000000000","message":"I\u0027ve found this note, thanks","commit_id":"ef656301d671698f7d8e2f2b5900b53ab2e5b7bf"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"8db3f6ad6ac9745227c9c17f4db1318540495022","unresolved":false,"context_lines":[{"line_number":410,"context_line":"    prints out:"},{"line_number":411,"context_line":"        [1, 2, 2, 3, 4, 5, 5, 5, 5, 7, 7, 9, 9, 10]"},{"line_number":412,"context_line":"        [11, 14, 14, 14, 16, 17, 19, 19, 21, 23, 23]"},{"line_number":413,"context_line":"        [26, 36, 41, 91]"},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"    :param: length, expected length of generated lists."},{"line_number":416,"context_line":"                    Length of the resulted lists would be greater"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa80f949_462c92ab","line":413,"in_reply_to":"fa80f949_c6d5e2b9","updated":"2015-11-03 11:50:39.000000000","message":"Well, I meant \"except the last one\". One could find this refinement in the \u0027length\u0027 param description several lines below.","commit_id":"ef656301d671698f7d8e2f2b5900b53ab2e5b7bf"}],"tests/unit/common/test_utils.py":[{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"49e87ef17aea8d3a9bd9dfa578537d6d67aef6d1","unresolved":false,"context_lines":[{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class MergeTestCase(test.TestCase):"},{"line_number":469,"context_line":"    def test_merge(self):"},{"line_number":470,"context_line":"        it1 \u003d iter([[1, 3, 5], [5, 7, 9, 14], [17, 21, 36, 41]])"},{"line_number":471,"context_line":"        it2 \u003d iter([[2, 2, 4], [9, 10], [16, 19, 23, 26, 91]])"},{"line_number":472,"context_line":"        it3 \u003d iter([[5], [5, 7, 11, 14, 14, 19, 23]])"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a26ad4f_d8093233","line":469,"updated":"2015-10-28 03:30:21.000000000","message":"Edge cases to test:\n\n* No iterables passed in;\n* Only one iterable passed in;\n* Several iterables passed in, but one is empty;\n* Several iterables passed in, all are empty;\n* Iterable contains empty lists;\n* A list in an iterable contains a mix of types (ints, floats, strings, etc.).\n\nOther things we may want to test if the behavior is deterministic:\n\n* What happens if the items within a list aren\u0027t sorted?\n* What happens if the lists within an iterable aren\u0027t sorted?\n\nddt would be a good fit here.","commit_id":"6d4e1f96f36324d11a131831abd334c0f8001c48"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"9b1c012d7dd0d2dad4883389cc650faf6c599bbc","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        self.assertEqual(len(task_id_parts), 1)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class MergeTestCase(test.TestCase):"},{"line_number":469,"context_line":"    def test_merge(self):"},{"line_number":470,"context_line":"        it1 \u003d iter([[1, 3, 5], [5, 7, 9, 14], [17, 21, 36, 41]])"},{"line_number":471,"context_line":"        it2 \u003d iter([[2, 2, 4], [9, 10], [16, 19, 23, 26, 91]])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_602b4995","line":468,"updated":"2015-10-29 22:28:14.000000000","message":"Please expand test coverage as suggested in patchset 4.","commit_id":"4f5eed1c541d4508069deddb896f45e7c5874630"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"3ec25beba3ca396d2184dfab4423080417577111","unresolved":false,"context_lines":[{"line_number":465,"context_line":"        self.assertEqual(len(task_id_parts), 1)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"class MergeTestCase(test.TestCase):"},{"line_number":469,"context_line":"    def test_merge(self):"},{"line_number":470,"context_line":"        it1 \u003d iter([[1, 3, 5], [5, 7, 9, 14], [17, 21, 36, 41]])"},{"line_number":471,"context_line":"        it2 \u003d iter([[2, 2, 4], [9, 10], [16, 19, 23, 26, 91]])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a26ad4f_c0300604","line":468,"in_reply_to":"1a26ad4f_602b4995","updated":"2015-10-30 13:12:49.000000000","message":"Work in progress)) I should have added WIP label","commit_id":"4f5eed1c541d4508069deddb896f45e7c5874630"}]}
