)]}'
{"cinder/volume/drivers/dell_emc/vmax/rest.py":[{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"9a90a2f23bb30487052279904ac74ef03bf85510","unresolved":false,"context_lines":[{"line_number":2322,"context_line":"            LOG.info(\"More entries exist in the result list, retrieving \""},{"line_number":2323,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2324,"context_line":""},{"line_number":2325,"context_line":"            start_position +\u003d 1000"},{"line_number":2326,"context_line":"            end_position +\u003d 1000"},{"line_number":2327,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2328,"context_line":"                iterator_id, list_count, start_position, end_position)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_11f6295f","line":2325,"updated":"2018-06-28 14:58:18.000000000","message":"This should be: start_position \u003d end_position + 1","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"9a90a2f23bb30487052279904ac74ef03bf85510","unresolved":false,"context_lines":[{"line_number":2323,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2324,"context_line":""},{"line_number":2325,"context_line":"            start_position +\u003d 1000"},{"line_number":2326,"context_line":"            end_position +\u003d 1000"},{"line_number":2327,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2328,"context_line":"                iterator_id, list_count, start_position, end_position)"},{"line_number":2329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_518101a0","line":2326,"updated":"2018-06-28 14:58:18.000000000","message":"This should be: end_position +\u003d max_page_size\n\nShould not assume a page size of 1000.","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"a2eb395f6d5591f7c012e522aba2f4cdf9a82982","unresolved":false,"context_lines":[{"line_number":2323,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2324,"context_line":""},{"line_number":2325,"context_line":"            start_position +\u003d 1000"},{"line_number":2326,"context_line":"            end_position +\u003d 1000"},{"line_number":2327,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2328,"context_line":"                iterator_id, list_count, start_position, end_position)"},{"line_number":2329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_b9687bf4","line":2326,"in_reply_to":"5f7c97a3_19908f42","updated":"2018-06-28 15:28:24.000000000","message":"Ignore the last statement, I will use the max_page_size variable","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"64f46f3619c02cdc7cb0815fb47901d2ab0866c0","unresolved":false,"context_lines":[{"line_number":2323,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2324,"context_line":""},{"line_number":2325,"context_line":"            start_position +\u003d 1000"},{"line_number":2326,"context_line":"            end_position +\u003d 1000"},{"line_number":2327,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2328,"context_line":"                iterator_id, list_count, start_position, end_position)"},{"line_number":2329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_9981ffa3","line":2326,"in_reply_to":"5f7c97a3_19908f42","updated":"2018-06-28 15:27:07.000000000","message":"max_page_size is being returned from the REST server, so it should not be made a constant. Just use what is returned - that way you are covered if it should ever change in the future.","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"dce222bf73bf3f28cc6f8947ab66caf4ecf5ddd5","unresolved":false,"context_lines":[{"line_number":2323,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2324,"context_line":""},{"line_number":2325,"context_line":"            start_position +\u003d 1000"},{"line_number":2326,"context_line":"            end_position +\u003d 1000"},{"line_number":2327,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2328,"context_line":"                iterator_id, list_count, start_position, end_position)"},{"line_number":2329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_19908f42","line":2326,"in_reply_to":"5f7c97a3_518101a0","updated":"2018-06-28 15:19:57.000000000","message":"Thanks Carl, maxPageSize will always be 1000 but I will make it a constant","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"7ac6dd8f331d300497c2266d33eac004cbd0b8c2","unresolved":false,"context_lines":[{"line_number":2323,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2324,"context_line":""},{"line_number":2325,"context_line":"            start_position +\u003d 1000"},{"line_number":2326,"context_line":"            end_position +\u003d 1000"},{"line_number":2327,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2328,"context_line":"                iterator_id, list_count, start_position, end_position)"},{"line_number":2329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_7972e3e6","line":2326,"in_reply_to":"5f7c97a3_9981ffa3","updated":"2018-06-28 15:29:16.000000000","message":"snap :-)","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"9a90a2f23bb30487052279904ac74ef03bf85510","unresolved":false,"context_lines":[{"line_number":2355,"context_line":"                                                  params)"},{"line_number":2356,"context_line":"            try:"},{"line_number":2357,"context_line":"                iterator_result +\u003d iterator_response[\u0027result\u0027]"},{"line_number":2358,"context_line":"                start_position +\u003d 1000"},{"line_number":2359,"context_line":"                end_position +\u003d 1000"},{"line_number":2360,"context_line":"            except (KeyError, TypeError):"},{"line_number":2361,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_516fc1f9","line":2358,"updated":"2018-06-28 14:58:18.000000000","message":"Same comments for use of \u00271000\u0027 here","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"dce222bf73bf3f28cc6f8947ab66caf4ecf5ddd5","unresolved":false,"context_lines":[{"line_number":2355,"context_line":"                                                  params)"},{"line_number":2356,"context_line":"            try:"},{"line_number":2357,"context_line":"                iterator_result +\u003d iterator_response[\u0027result\u0027]"},{"line_number":2358,"context_line":"                start_position +\u003d 1000"},{"line_number":2359,"context_line":"                end_position +\u003d 1000"},{"line_number":2360,"context_line":"            except (KeyError, TypeError):"},{"line_number":2361,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d9b217e6","line":2358,"in_reply_to":"5f7c97a3_516fc1f9","updated":"2018-06-28 15:19:57.000000000","message":"Sure, will make it a constant","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"a2eb395f6d5591f7c012e522aba2f4cdf9a82982","unresolved":false,"context_lines":[{"line_number":2355,"context_line":"                                                  params)"},{"line_number":2356,"context_line":"            try:"},{"line_number":2357,"context_line":"                iterator_result +\u003d iterator_response[\u0027result\u0027]"},{"line_number":2358,"context_line":"                start_position +\u003d 1000"},{"line_number":2359,"context_line":"                end_position +\u003d 1000"},{"line_number":2360,"context_line":"            except (KeyError, TypeError):"},{"line_number":2361,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_398eabd1","line":2358,"in_reply_to":"5f7c97a3_d9b217e6","updated":"2018-06-28 15:28:24.000000000","message":"Ignore the last statement.  I will pass max_page_size variable down","commit_id":"2b319aee8d4c9f17ef05524fd2115a544600955e"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"09d36c30733bd086c3a48dfaa917c82b5082dbfd","unresolved":false,"context_lines":[{"line_number":2390,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2391,"context_line":""},{"line_number":2392,"context_line":"            start_position \u003d end_position + 1"},{"line_number":2393,"context_line":"            end_position +\u003d max_page_size"},{"line_number":2394,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2395,"context_line":"                iterator_id, list_count, start_position, end_position,"},{"line_number":2396,"context_line":"                max_page_size)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_6a5824f8","line":2393,"updated":"2018-07-06 15:20:39.000000000","message":"I got around to testing this out and it appears that the iterator call will blow up if the \"to\" param is set beyond the count (total items).","commit_id":"59acf9abe1305944cd3e54d34b0125e9a943863c"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"bd349efea41e492f20a50fa543e99f086e96a06d","unresolved":false,"context_lines":[{"line_number":2390,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2391,"context_line":""},{"line_number":2392,"context_line":"            start_position \u003d end_position + 1"},{"line_number":2393,"context_line":"            end_position +\u003d max_page_size"},{"line_number":2394,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2395,"context_line":"                iterator_id, list_count, start_position, end_position,"},{"line_number":2396,"context_line":"                max_page_size)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_737612d8","line":2393,"in_reply_to":"5f7c97a3_5a37ace5","updated":"2018-07-17 12:36:49.000000000","message":"This will be fixed in the next patchset, thanks for pointing out this use-case it was missed when our returned response had 2000+ results each time","commit_id":"59acf9abe1305944cd3e54d34b0125e9a943863c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"dba646bfe2230d7964ec732903a92d8c4c86ef09","unresolved":false,"context_lines":[{"line_number":2390,"context_line":"                     \"remainder of results from iterator.\")"},{"line_number":2391,"context_line":""},{"line_number":2392,"context_line":"            start_position \u003d end_position + 1"},{"line_number":2393,"context_line":"            end_position +\u003d max_page_size"},{"line_number":2394,"context_line":"            iterator_response \u003d self.get_iterator_page_list("},{"line_number":2395,"context_line":"                iterator_id, list_count, start_position, end_position,"},{"line_number":2396,"context_line":"                max_page_size)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_5a37ace5","line":2393,"in_reply_to":"5f7c97a3_6a5824f8","updated":"2018-07-13 13:22:33.000000000","message":"Sure, we will look into this.","commit_id":"59acf9abe1305944cd3e54d34b0125e9a943863c"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"09d36c30733bd086c3a48dfaa917c82b5082dbfd","unresolved":false,"context_lines":[{"line_number":2417,"context_line":"                end_position \u003d result_count"},{"line_number":2418,"context_line":"                has_more_entries \u003d False"},{"line_number":2419,"context_line":""},{"line_number":2420,"context_line":"            params \u003d {\u0027to\u0027: start_position, \u0027from\u0027: end_position}"},{"line_number":2421,"context_line":"            target_uri \u003d (\u0027/common/Iterator/%(iterator_id)s/page\u0027 % {"},{"line_number":2422,"context_line":"                \u0027iterator_id\u0027: iterator_id})"},{"line_number":2423,"context_line":"            iterator_response \u003d self._get_request(target_uri, \u0027iterator\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_eaf8b4c1","line":2420,"updated":"2018-07-06 15:20:39.000000000","message":"This comment also is not so much for this change but for the existing code. The \u0027from\u0027 should be to start_position and the \"to\" should be the end_position as long as end_position does not go beyond the \u0027count\u0027 previously returned. I\u0027m not sure that this flow has been used to this point. The UT probably needs to be updated as well.","commit_id":"59acf9abe1305944cd3e54d34b0125e9a943863c"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"bd349efea41e492f20a50fa543e99f086e96a06d","unresolved":false,"context_lines":[{"line_number":2417,"context_line":"                end_position \u003d result_count"},{"line_number":2418,"context_line":"                has_more_entries \u003d False"},{"line_number":2419,"context_line":""},{"line_number":2420,"context_line":"            params \u003d {\u0027to\u0027: start_position, \u0027from\u0027: end_position}"},{"line_number":2421,"context_line":"            target_uri \u003d (\u0027/common/Iterator/%(iterator_id)s/page\u0027 % {"},{"line_number":2422,"context_line":"                \u0027iterator_id\u0027: iterator_id})"},{"line_number":2423,"context_line":"            iterator_response \u003d self._get_request(target_uri, \u0027iterator\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_93216eb8","line":2420,"in_reply_to":"5f7c97a3_1a185474","updated":"2018-07-17 12:36:49.000000000","message":"This will also be fixed in the next patchset, thanks for spotting!","commit_id":"59acf9abe1305944cd3e54d34b0125e9a943863c"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"dba646bfe2230d7964ec732903a92d8c4c86ef09","unresolved":false,"context_lines":[{"line_number":2417,"context_line":"                end_position \u003d result_count"},{"line_number":2418,"context_line":"                has_more_entries \u003d False"},{"line_number":2419,"context_line":""},{"line_number":2420,"context_line":"            params \u003d {\u0027to\u0027: start_position, \u0027from\u0027: end_position}"},{"line_number":2421,"context_line":"            target_uri \u003d (\u0027/common/Iterator/%(iterator_id)s/page\u0027 % {"},{"line_number":2422,"context_line":"                \u0027iterator_id\u0027: iterator_id})"},{"line_number":2423,"context_line":"            iterator_response \u003d self._get_request(target_uri, \u0027iterator\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_1a185474","line":2420,"in_reply_to":"5f7c97a3_eaf8b4c1","updated":"2018-07-13 13:22:33.000000000","message":"Thanks Carl.  We will look into it.","commit_id":"59acf9abe1305944cd3e54d34b0125e9a943863c"},{"author":{"_account_id":12802,"name":"Carl Pecinovsky","email":"csky@us.ibm.com","username":"carl-sky"},"change_message_id":"3692604b54e2ce8f49cee862f791465754c6843f","unresolved":false,"context_lines":[{"line_number":2429,"context_line":"                iterator_result +\u003d iterator_response[\u0027result\u0027]"},{"line_number":2430,"context_line":"                start_position +\u003d max_page_size"},{"line_number":2431,"context_line":"                end_position +\u003d max_page_size"},{"line_number":2432,"context_line":"            except (KeyError, TypeError):"},{"line_number":2433,"context_line":"                pass"},{"line_number":2434,"context_line":""},{"line_number":2435,"context_line":"        return iterator_result"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_8bb34f09","line":2432,"updated":"2018-07-18 15:27:52.000000000","message":"This except block basically says if no \u0027result\u0027 in the output, go through the loop again with the exact same request. Is that what you want?","commit_id":"27b70c326b176e93e516bd9b3499f5b0aa09267c"},{"author":{"_account_id":23601,"name":"michael","display_name":"michael-mcaleer","email":"Michael.Mcaleer@dell.com","username":"michael-mcaleer"},"change_message_id":"35ea8287560f9309e6c62a79cf4b860cc3d076ac","unresolved":false,"context_lines":[{"line_number":2429,"context_line":"                iterator_result +\u003d iterator_response[\u0027result\u0027]"},{"line_number":2430,"context_line":"                start_position +\u003d max_page_size"},{"line_number":2431,"context_line":"                end_position +\u003d max_page_size"},{"line_number":2432,"context_line":"            except (KeyError, TypeError):"},{"line_number":2433,"context_line":"                pass"},{"line_number":2434,"context_line":""},{"line_number":2435,"context_line":"        return iterator_result"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_b9e4520f","line":2432,"in_reply_to":"5f7c97a3_8bb34f09","updated":"2018-07-19 09:26:27.000000000","message":"What we don\u0027t want is a case where our REST API returns an erroneous server side response code and we exit out of the loop before we have all of the details. If we raise the exception here when retrieving the result the loop will continue and the start/end positions will stay the same.\n\nBy ensuring that we only set has_more_entries to True if the count has been met we can iterate through again using the same start/end position and get all results from all iterator pages.","commit_id":"27b70c326b176e93e516bd9b3499f5b0aa09267c"}]}
