)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"4d343b11e449b072ecaaba246d5d83949eea036c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"99ce341a_76f97fb9","updated":"2022-09-15 05:34:39.000000000","message":"I\u0027m good with this approach. Seems like a good way to deal with more than the default 10,000 object return limit.","commit_id":"d2a2cf1ec174f41576917c1ed8d90feeb5f9de09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"546cf0ec42d3bd1f0da1e548b0da3e8ba3eda733","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2bb6a5f8_3fcbea2a","updated":"2022-09-15 04:24:39.000000000","message":"Pending Zuul","commit_id":"d2a2cf1ec174f41576917c1ed8d90feeb5f9de09"}],"tripleo_common/utils/swift.py":[{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"d74171cb2891912e2e9ad022018d36f5f2c58163","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    objects \u003d swiftclient.get_container(container)[1]"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # In large environments. It\u0027s possible that we have greater than 10,000"},{"line_number":67,"context_line":"    # objects in the container and the list might not container all objects."},{"line_number":68,"context_line":"    while objects:"},{"line_number":69,"context_line":"        for obj in objects:"},{"line_number":70,"context_line":"            is_newer \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"903eae7e_4cf0cbbb","line":67,"range":{"start_line":67,"start_character":54,"end_line":67,"end_character":63},"updated":"2022-09-12 04:11:37.000000000","message":"s/container/contain/","commit_id":"3aaedb83a4e1be7e0eb2e9f1663695ec71a04b71"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"38df0f01f9f3b7fc828995e52391cf1640fda90f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    objects \u003d swiftclient.get_container(container)[1]"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # In large environments. It\u0027s possible that we have greater than 10,000"},{"line_number":67,"context_line":"    # objects in the container and the list might not container all objects."},{"line_number":68,"context_line":"    while objects:"},{"line_number":69,"context_line":"        for obj in objects:"},{"line_number":70,"context_line":"            is_newer \u003d False"}],"source_content_type":"text/x-python","patch_set":3,"id":"0106dca0_b8e5c77c","line":67,"range":{"start_line":67,"start_character":54,"end_line":67,"end_character":63},"in_reply_to":"903eae7e_4cf0cbbb","updated":"2022-09-15 01:30:34.000000000","message":"Done","commit_id":"3aaedb83a4e1be7e0eb2e9f1663695ec71a04b71"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"de7375a25612ff8987c5ea912a8b389f56c46a18","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                       in swiftclient.get_account()[1]]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    if name in container_names:"},{"line_number":36,"context_line":"        _, objects \u003d swiftclient.get_container(name)"},{"line_number":37,"context_line":"        while objects:"},{"line_number":38,"context_line":"            # FIXME(rbrady): remove delete_object loop when"},{"line_number":39,"context_line":"            # LP#1615830 is fixed.  See LP#1615825 for more info."}],"source_content_type":"text/x-python","patch_set":6,"id":"0030e053_2d815ba6","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":52},"updated":"2022-09-15 03:22:31.000000000","message":"This would still get 10,000 objects in one go. Maybe use some sane limit (ex. limit\u003d1000) in get_container() call(?).\n\n\nThis is really inefficient way of cleaning a container with too many objects, but we\u0027ve no choice.","commit_id":"d2a2cf1ec174f41576917c1ed8d90feeb5f9de09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"546cf0ec42d3bd1f0da1e548b0da3e8ba3eda733","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                       in swiftclient.get_account()[1]]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    if name in container_names:"},{"line_number":36,"context_line":"        _, objects \u003d swiftclient.get_container(name)"},{"line_number":37,"context_line":"        while objects:"},{"line_number":38,"context_line":"            # FIXME(rbrady): remove delete_object loop when"},{"line_number":39,"context_line":"            # LP#1615830 is fixed.  See LP#1615825 for more info."}],"source_content_type":"text/x-python","patch_set":6,"id":"68c3999b_01ba8309","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":52},"in_reply_to":"0030e053_2d815ba6","updated":"2022-09-15 04:24:39.000000000","message":"The intention of this change was to ensure objects after the first 10,000 are captured. Having 10,000 text based objects in memory probably isn\u0027t going to cause us any headaches. \n\nIMO we would be better off reducing the number of API calls which are the longest running part of the equation","commit_id":"d2a2cf1ec174f41576917c1ed8d90feeb5f9de09"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fe48e0ccd134c873dd9a47768f6545b558d0c7ca","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                       in swiftclient.get_account()[1]]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    if name in container_names:"},{"line_number":36,"context_line":"        _, objects \u003d swiftclient.get_container(name)"},{"line_number":37,"context_line":"        while objects:"},{"line_number":38,"context_line":"            # FIXME(rbrady): remove delete_object loop when"},{"line_number":39,"context_line":"            # LP#1615830 is fixed.  See LP#1615825 for more info."}],"source_content_type":"text/x-python","patch_set":6,"id":"ce3cb07b_2b7e4ef2","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":52},"in_reply_to":"1e9332a7_a8e3ca3e","updated":"2022-09-15 05:56:34.000000000","message":"I\u0027ve made some changes to lower limit when iterating over objects. There is another usage of get_container in plan action but that one eventually generate full object list so I decided to leave it for now.","commit_id":"d2a2cf1ec174f41576917c1ed8d90feeb5f9de09"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"39e1edfd7fed5d4130cdf30c0f852eeaca073fcd","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                       in swiftclient.get_account()[1]]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    if name in container_names:"},{"line_number":36,"context_line":"        _, objects \u003d swiftclient.get_container(name)"},{"line_number":37,"context_line":"        while objects:"},{"line_number":38,"context_line":"            # FIXME(rbrady): remove delete_object loop when"},{"line_number":39,"context_line":"            # LP#1615830 is fixed.  See LP#1615825 for more info."}],"source_content_type":"text/x-python","patch_set":6,"id":"1e9332a7_a8e3ca3e","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":52},"in_reply_to":"68c3999b_01ba8309","updated":"2022-09-15 04:48:54.000000000","message":"\u003e  Having 10,000 text based objects in memory probably isn\u0027t going to cause us any headaches. \n\nWell, if 10K won\u0027t cause any headaches, another few won\u0027t either:) AFAIK, We\u0027ve only one reported case for this till date where objects increased more than 10K. As per API calls, we make one call per object to delete multiplied by 10,000+ of them.. Adding a few more calls for listing would not hurt.\n\nThis is anyway very inefficient whatever we do.","commit_id":"d2a2cf1ec174f41576917c1ed8d90feeb5f9de09"}]}
