Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ Changelog
in development
--------------

Fixed
~~~~~

* Fix redis SSL problems with sentinel #5660


3.7.0 - May 05, 2022
--------------------
Expand Down
2 changes: 1 addition & 1 deletion fixed-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ python-keyczar==0.716
pytz==2021.1
pywinrm==0.4.1
pyyaml==5.4.1
redis==3.5.3
redis==4.1.4
requests[security]==2.25.1
retrying==1.3.3
routes==2.4.1
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ python-statsd==2.1.0
pytz==2021.1
pywinrm==0.4.1
pyyaml==5.4.1
redis==3.5.3
redis==4.1.4
rednose
requests[security]==2.25.1
retrying==1.3.3
Expand Down
2 changes: 1 addition & 1 deletion st2common/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pymongo==3.11.3
python-dateutil==2.8.1
python-statsd==2.1.0
pyyaml==5.4.1
redis==3.5.3
redis==4.1.4
requests[security]==2.25.1
retrying==1.3.3
routes==2.4.1
Expand Down
7 changes: 7 additions & 0 deletions st2common/st2common/util/monkey_patch.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,21 @@ def monkey_patch(patch_thread=None):
patched unless debugger is used.
:type patch_thread: ``bool``
"""
# Eventlet when patched doesn't throw the standard ssl error on timeout, which can break
# some third-party libraries including redis SSL.
# See: https://github.com/eventlet/eventlet/issues/692
# Therefore set the patched ssl module to use the standard socket.timeout exception
from eventlet.green import ssl
import eventlet
from socket import timeout

if patch_thread is None:
patch_thread = not is_use_debugger_flag_provided()

eventlet.monkey_patch(
os=True, select=True, socket=True, thread=patch_thread, time=True
)
ssl.timeout_exc = timeout


def use_select_poll_workaround(nose_only=True):
Expand Down