)]}'
{"keystoneclient/session.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"7530f92253e122456948e87ead4a4b1f3bc6dff4","unresolved":false,"context_lines":[{"line_number":922,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)"},{"line_number":923,"context_line":"                ]"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"            if hasattr(socket, \u0027TCP_KEEPCNT\u0027):"},{"line_number":926,"context_line":"                socket_options +\u003d ["},{"line_number":927,"context_line":"                    # Set the maximum number of keep-alive probes"},{"line_number":928,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 4)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_147b8929","line":925,"updated":"2015-08-25 16:02:36.000000000","message":"If nothing else maybe we need a TODO saying to use requests to set the right options once that becomes available.","commit_id":"da8e7aa3439924bb547223866fbd3dca6c3271cc"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"41ac9a79399dbffe56d2e32aa9e583170e949a7b","unresolved":false,"context_lines":[{"line_number":922,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)"},{"line_number":923,"context_line":"                ]"},{"line_number":924,"context_line":""},{"line_number":925,"context_line":"            if hasattr(socket, \u0027TCP_KEEPCNT\u0027):"},{"line_number":926,"context_line":"                socket_options +\u003d ["},{"line_number":927,"context_line":"                    # Set the maximum number of keep-alive probes"},{"line_number":928,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 4)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_d48d11d4","line":925,"in_reply_to":"fa1b9901_147b8929","updated":"2015-08-25 16:09:19.000000000","message":"makes sense.","commit_id":"da8e7aa3439924bb547223866fbd3dca6c3271cc"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"a9a31bb9cd12d51b989a6bce7b8b768e49b6747c","unresolved":false,"context_lines":[{"line_number":925,"context_line":"            # TODO(claudiub): Windows does not contain the TCP_KEEPCNT and"},{"line_number":926,"context_line":"            # TCP_KEEPINTVL socket attributes. Instead, it contains"},{"line_number":927,"context_line":"            # SIO_KEEPALIVE_VALS, which can be set via ioctl, which should be"},{"line_number":928,"context_line":"            # set once it is available."},{"line_number":929,"context_line":"            # https://msdn.microsoft.com/en-us/library/dd877220%28VS.85%29.aspx"},{"line_number":930,"context_line":"            if hasattr(socket, \u0027TCP_KEEPCNT\u0027):"},{"line_number":931,"context_line":"                socket_options +\u003d ["}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_8cc21784","line":928,"updated":"2015-08-26 03:25:08.000000000","message":"s/available/available in requests/","commit_id":"56d0d7a1d71af40ae794d3479bbee6ddeb5954f3"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"e12928cf675cdccb326a44ab4b15eaa7d4adb74b","unresolved":false,"context_lines":[{"line_number":944,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)"},{"line_number":945,"context_line":"                ]"},{"line_number":946,"context_line":""},{"line_number":947,"context_line":"            # TODO(claudiub): Windows does not contain the TCP_KEEPCNT and"},{"line_number":948,"context_line":"            # TCP_KEEPINTVL socket attributes. Instead, it contains"},{"line_number":949,"context_line":"            # SIO_KEEPALIVE_VALS, which can be set via ioctl, which should be"},{"line_number":950,"context_line":"            # set once it is available in requests."}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_e8e8fb18","line":947,"updated":"2015-08-26 17:03:57.000000000","message":"So this CR is incomplete?","commit_id":"33b24a6984c8de2f26af7900202bb85b6b5db125"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d1c6167dd3099676f366f01ec9d5a8c182c6f751","unresolved":false,"context_lines":[{"line_number":944,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)"},{"line_number":945,"context_line":"                ]"},{"line_number":946,"context_line":""},{"line_number":947,"context_line":"            # TODO(claudiub): Windows does not contain the TCP_KEEPCNT and"},{"line_number":948,"context_line":"            # TCP_KEEPINTVL socket attributes. Instead, it contains"},{"line_number":949,"context_line":"            # SIO_KEEPALIVE_VALS, which can be set via ioctl, which should be"},{"line_number":950,"context_line":"            # set once it is available in requests."}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_8647ddbb","line":947,"in_reply_to":"da20952f_088d2f31","updated":"2015-09-08 18:35:03.000000000","message":"change the TODO to NOTE, this fix looks complete and there\u0027s nothing let `to do`","commit_id":"33b24a6984c8de2f26af7900202bb85b6b5db125"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"b7b1f8c9ca4cf97ec9ce5af09c5a4b1621ffb8de","unresolved":false,"context_lines":[{"line_number":944,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)"},{"line_number":945,"context_line":"                ]"},{"line_number":946,"context_line":""},{"line_number":947,"context_line":"            # TODO(claudiub): Windows does not contain the TCP_KEEPCNT and"},{"line_number":948,"context_line":"            # TCP_KEEPINTVL socket attributes. Instead, it contains"},{"line_number":949,"context_line":"            # SIO_KEEPALIVE_VALS, which can be set via ioctl, which should be"},{"line_number":950,"context_line":"            # set once it is available in requests."}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_088d2f31","line":947,"in_reply_to":"da20952f_e8e8fb18","updated":"2015-08-26 17:08:35.000000000","message":"No, it is complete. Right now there isn\u0027t an easy way to set SIO_KEEPALIVE_VALS in the requests library.","commit_id":"33b24a6984c8de2f26af7900202bb85b6b5db125"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"71c22f9bc32ee57d9ba1e8b9f188c7b535bab579","unresolved":false,"context_lines":[{"line_number":948,"context_line":"            # TCP_KEEPINTVL socket attributes. Instead, it contains"},{"line_number":949,"context_line":"            # SIO_KEEPALIVE_VALS, which can be set via ioctl, which should be"},{"line_number":950,"context_line":"            # set once it is available in requests."},{"line_number":951,"context_line":"            # https://msdn.microsoft.com/en-us/library/dd877220%28VS.85%29.aspx"},{"line_number":952,"context_line":"            if hasattr(socket, \u0027TCP_KEEPCNT\u0027):"},{"line_number":953,"context_line":"                socket_options +\u003d ["},{"line_number":954,"context_line":"                    # Set the maximum number of keep-alive probes"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_4fea5fd9","line":951,"updated":"2015-09-07 22:46:52.000000000","message":"I\u0027m less interested in the microsoft documentation as i am the requests bug where they are making this available so we can see when it\u0027s fixed in future.","commit_id":"33b24a6984c8de2f26af7900202bb85b6b5db125"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"71c22f9bc32ee57d9ba1e8b9f188c7b535bab579","unresolved":false,"context_lines":[{"line_number":959,"context_line":"                socket_options +\u003d ["},{"line_number":960,"context_line":"                    # Send keep-alive probes every 15 seconds"},{"line_number":961,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 15)"},{"line_number":962,"context_line":"                ]"},{"line_number":963,"context_line":""},{"line_number":964,"context_line":"            # After waiting 60 seconds, and then sending a probe once every 15"},{"line_number":965,"context_line":"            # seconds 4 times, these options should ensure that a connection"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_efa253ad","line":962,"updated":"2015-09-07 22:46:52.000000000","message":"So what is going to be set on windows? none of these? Will the bug that these were intended to prevent then become a problem there?\n\nWhat is this \"other way for windows\" and why don\u0027t we add it here?","commit_id":"33b24a6984c8de2f26af7900202bb85b6b5db125"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"a872af2ac4e9149f79043e29fe31e5be75bc6583","unresolved":false,"context_lines":[{"line_number":959,"context_line":"                socket_options +\u003d ["},{"line_number":960,"context_line":"                    # Send keep-alive probes every 15 seconds"},{"line_number":961,"context_line":"                    (socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 15)"},{"line_number":962,"context_line":"                ]"},{"line_number":963,"context_line":""},{"line_number":964,"context_line":"            # After waiting 60 seconds, and then sending a probe once every 15"},{"line_number":965,"context_line":"            # seconds 4 times, these options should ensure that a connection"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_ce0e5f8c","line":962,"in_reply_to":"da20952f_efa253ad","updated":"2015-09-08 11:56:08.000000000","message":"Yep, None. In the amount of time (2 years) I\u0027ve been working on Openstack on Windows / Hyper-V, I have not seen any issues related to the socket connections and I doubt I will see many or any in the future.\n\nYes, having those socket options set would be great, but there is no easy way to set them at the moment, just as David Stanek previously stated in the comment at L947. \n\nWe would have to call ioctl for each socket, in order to set SIO_KEEPALIVE_VALS, but we don\u0027t have direct access to them, as they are created / managed by a PoolManager, 3 libraries away, from what I saw.","commit_id":"33b24a6984c8de2f26af7900202bb85b6b5db125"}]}
