Skip to content

Commit a7ab8cc

Browse files
authored
PYTHON-1364 Fix ssl.wrap_socket errors (from eventlet) for Python 3.12 (#1181)
1 parent 375da00 commit a7ab8cc

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

cassandra/cluster.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,11 @@
9999

100100
try:
101101
from cassandra.io.eventletreactor import EventletConnection
102-
except ImportError:
102+
# PYTHON-1364
103+
#
104+
# At the moment eventlet initialization is chucking AttributeErrors due to it's dependence on pyOpenSSL
105+
# and some changes in Python 3.12 which have some knock-on effects there.
106+
except (ImportError, AttributeError):
103107
EventletConnection = None
104108

105109
try:
@@ -113,8 +117,12 @@
113117
def _is_eventlet_monkey_patched():
114118
if 'eventlet.patcher' not in sys.modules:
115119
return False
116-
import eventlet.patcher
117-
return eventlet.patcher.is_monkey_patched('socket')
120+
try:
121+
import eventlet.patcher
122+
return eventlet.patcher.is_monkey_patched('socket')
123+
# Another case related to PYTHON-1364
124+
except AttributeError:
125+
return False
118126

119127

120128
def _is_gevent_monkey_patched():

0 commit comments

Comments
 (0)