)]}'
{"ChangeLog":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fd99fa385fa5d9d85ddc152f86d8ed43cce79680","unresolved":false,"context_lines":[{"line_number":5,"context_line":"  functionality of `get_container()`."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"* Fixed an issue in the client module where socket connections may have"},{"line_number":8,"context_line":"  been leaked, especially under python 3."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"* Various other minor bug fixes and improvements."},{"line_number":11,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9fdfeff1_a66d0033","line":8,"range":{"start_line":8,"start_character":15,"end_line":8,"end_character":40},"updated":"2019-02-27 19:33:13.000000000","message":"I think these were getting leaked regardless; it\u0027s just that py3 made it more obvious when it would happen. See\n\n- https://bugs.python.org/issue10093\n- https://github.com/python/cpython/commit/e033e06\n\nTo my knowledge, it was never backported to the 2.7 branch. Note that you have to turn on warnings:\n\n $ python3.7 -c \u0027import socket; socket.socket()\u0027\n \n $ python3.7 -W all -c \u0027import socket; socket.socket()\u0027\n-c:1: ResourceWarning: unclosed \u003csocket.socket fd\u003d3, family\u003dAddressFamily.AF_INET, type\u003dSocketKind.SOCK_STREAM, proto\u003d0, laddr\u003d(\u00270.0.0.0\u0027, 0)\u003e\n \n $ python3.4 -W all -c \u0027import socket; socket.socket()\u0027\n-c:1: ResourceWarning: unclosed \u003csocket.socket fd\u003d3, family\u003dAddressFamily.AF_INET, type\u003dSocketType.SOCK_STREAM, proto\u003d0, laddr\u003d(\u00270.0.0.0\u0027, 0)\u003e\n \n $ python2.7 -W all -c \u0027import socket; socket.socket()\u0027","commit_id":"4405671816d3f090f84d69ab9ffeb3235993c49c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fd99fa385fa5d9d85ddc152f86d8ed43cce79680","unresolved":false,"context_lines":[{"line_number":7,"context_line":"* Fixed an issue in the client module where socket connections may have"},{"line_number":8,"context_line":"  been leaked, especially under python 3."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"* Various other minor bug fixes and improvements."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"3.6.0"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"9fdfeff1_c6d84480","line":10,"updated":"2019-02-27 19:33:13.000000000","message":"Might be worth calling out\n\n d1e1f8d Stop lazy importing keystoneclient\n\nI know this bit Timur while working on 1space; IIRC, the old behavior could cause deadlocks. (Though maybe only when using a combination of greenthreads and pthreads?)","commit_id":"4405671816d3f090f84d69ab9ffeb3235993c49c"}],"releasenotes/notes/361_notes-59e020e68bcdd709.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fd99fa385fa5d9d85ddc152f86d8ed43cce79680","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added the delimiter keyword parameter to ``get_account()`` to match the"},{"line_number":5,"context_line":"    functionality of ``get_container()``."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Fixed an issue in the client module where socket connections may have"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9fdfeff1_66e39835","line":5,"range":{"start_line":5,"start_character":21,"end_line":5,"end_character":23},"updated":"2019-02-27 19:33:13.000000000","message":"You remembered! Good job, John :-)","commit_id":"4405671816d3f090f84d69ab9ffeb3235993c49c"}]}
