Skip to content
Draft
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
34 changes: 22 additions & 12 deletions cassandra/cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -5431,16 +5431,21 @@ def _set_final_result(self, response):
# -- prevents case where _final_result is set, then a callback is
# added and executed on the spot, then executed again as a
# registered callback
to_call = tuple(
partial(fn, response, *args, **kwargs)
for (fn, args, kwargs) in self._callbacks
)
callbacks = self._callbacks
if callbacks:
to_call = tuple(
partial(fn, response, *args, **kwargs)
for (fn, args, kwargs) in callbacks
)
else:
to_call = None

self._event.set()

# apply each callback
for callback_partial in to_call:
callback_partial()
if to_call:
for callback_partial in to_call:
callback_partial()

def _set_final_exception(self, response):
self._cancel_timer()
Expand All @@ -5453,15 +5458,20 @@ def _set_final_exception(self, response):
# prevents case where _final_exception is set, then an errback is
# added and executed on the spot, then executed again as a
# registered errback
to_call = tuple(
partial(fn, response, *args, **kwargs)
for (fn, args, kwargs) in self._errbacks
)
errbacks = self._errbacks
if errbacks:
to_call = tuple(
partial(fn, response, *args, **kwargs)
for (fn, args, kwargs) in errbacks
)
else:
to_call = None
self._event.set()

# apply each callback
for callback_partial in to_call:
callback_partial()
if to_call:
for callback_partial in to_call:
callback_partial()

def _handle_retry_decision(self, retry_decision, response, host):

Expand Down
Loading