)]}'
{"oslo_rootwrap/cmd.py":[{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"b24ed374dff5bc231384544aa19df706e23d11a6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfd5e7cf_a111e1ae","line":116,"updated":"2019-01-09 18:38:29.000000000","message":"Does this mean that there are no fds open for the process? Wouldn\u0027t we still want to set the limit in that case though (looking at the else below)?","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"d5ce90b9149bd5f7df09f5876056e6e977c94e64","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_c9a582a0","line":116,"in_reply_to":"5fc1f717_1e11b404","updated":"2019-03-18 19:10:28.000000000","message":"I am certainly confused about your request. did you see the comment below:\n\n```\n Only limit rlimit when the previous closing-loop was ending\n without an exception\n```\n\nwith other words, only if this linux and there was a /proc/self/fd the rlimit is executed, otherwise it falls back to the previous behavior.","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"05add811d37e8011d97ae10946648e4dc15dffe6","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_35b9f977","line":116,"in_reply_to":"5fc1f717_29e526dc","updated":"2019-03-18 22:01:49.000000000","message":"Right, I agree, so let\u0027s not pretend to support those. Just my opinion, but we\u0027re fine to error out in those cases.","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"144ffdb3ebbed77eb973a03b6d240a4a92fdf82d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_be4d003f","line":116,"in_reply_to":"5fc1f717_3e3a7098","updated":"2019-03-15 02:26:21.000000000","message":"I take it back, looking through the list, anything with an empty fd list is already all closed. It\u0027s likely safest to fallback to the old code, but if anything has an fd directory, unneeded.","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"2b9aad8dd4d06ebad99644df64f8810115892864","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_1e11b404","line":116,"in_reply_to":"5fc1f717_be4d003f","updated":"2019-03-15 02:29:09.000000000","message":"I think these two excepts should be fatal, and the unit tests can mock the listdir. Then this would be good.","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"bad455f8152d48cfe2f7d96350d576ef9fa61ba7","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_3e3a7098","line":116,"in_reply_to":"dfd5e7cf_a111e1ae","updated":"2019-03-15 02:23:33.000000000","message":"I think this might\u0027ve been meant to catch non-linux cases, but a quick scan on a linux box shows quite a few processes with an empty fd directory. So you\u0027re right, this is not correct.","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"1172464bd6b8d3d6eaeaae0f3ba27fbd03eecd0d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                        # Ignore any non-numeric entries inside this dir"},{"line_number":114,"context_line":"                        pass"},{"line_number":115,"context_line":"            except OSError:"},{"line_number":116,"context_line":"                # This is expected when /proc/self/fd isn\u0027t there"},{"line_number":117,"context_line":"                pass"},{"line_number":118,"context_line":"            else:"},{"line_number":119,"context_line":"                # Only limit rlimit when the previous closing-loop was ending"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_29e526dc","line":116,"in_reply_to":"dfd5e7cf_a111e1ae","updated":"2019-03-18 19:11:45.000000000","message":"no, this means this is non-linux or super old kernel. on any linux newer than 15 years old this case does not trigger.","commit_id":"82e47de20ab5650a2acc9c35a2b400139ccd25f0"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"56c3f8ac10813466983ac7d4377eedfda95f8de9","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        if (fd_limits[0] \u003e sensible_fd_limit):"},{"line_number":104,"context_line":"            # Close any fd beyond sensible_fd_limit prior adjusting our"},{"line_number":105,"context_line":"            # rlimit to ensure all fds are closed"},{"line_number":106,"context_line":"            # NOTE(dmllr): In a previous patch revision non-existant /proc/self/fd"},{"line_number":107,"context_line":"            # was ignored, matching CPython 3.x behavior"},{"line_number":108,"context_line":"            for fd_entry in os.listdir(\u0027/proc/self/fd\u0027):"},{"line_number":109,"context_line":"                # NOTE(dmllr): In a previous patch revision non-numeric"}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_55336514","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":82},"updated":"2019-03-18 22:06:41.000000000","message":"If you disagree with me, get some others to get consensus (I\u0027m cool being over-ruled.) . But don\u0027t put it in the comments forever.  :-)","commit_id":"9ce02a80584b61d04d2e76e9704ce786288ac63b"},{"author":{"_account_id":6593,"name":"Dirk Mueller","email":"dirk@dmllr.de","username":"dmllr"},"change_message_id":"bff1c6e4b195524471b60094bfc7a3cf2524bad8","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        if (fd_limits[0] \u003e sensible_fd_limit):"},{"line_number":104,"context_line":"            # Close any fd beyond sensible_fd_limit prior adjusting our"},{"line_number":105,"context_line":"            # rlimit to ensure all fds are closed"},{"line_number":106,"context_line":"            # NOTE(dmllr): In a previous patch revision non-existant /proc/self/fd"},{"line_number":107,"context_line":"            # was ignored, matching CPython 3.x behavior"},{"line_number":108,"context_line":"            for fd_entry in os.listdir(\u0027/proc/self/fd\u0027):"},{"line_number":109,"context_line":"                # NOTE(dmllr): In a previous patch revision non-numeric"}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_17a1f3a9","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":82},"in_reply_to":"5fc1f717_55336514","updated":"2019-03-23 10:16:46.000000000","message":"It is pretty tough to get reviewers add a +1 after somebody left already a -1..\n\nMy goal is to get a patch that is backportable as possible to stable branches, which is the place where I actually need to land it. as such I tried to make it as seamless as possible, because there might be  some weird platform somewhere or some circumstances where this error triggers, and given that it is merely about a performance enhancement I think its not worth breaking a production cloud over that.","commit_id":"9ce02a80584b61d04d2e76e9704ce786288ac63b"}]}
