def _should_retry(self, invocation, error): if isinstance( error, (IOError, HazelcastInstanceNotActiveError)) or is_retryable_error(error): return True if isinstance(error, TargetDisconnectedError): return invocation.request.is_retryable() or self._is_redo_operation return False
def _handle_exception(self, invocation, error, traceback=None): if self.logger.isEnabledFor(logging.DEBUG): self.logger.debug("Got exception for request %s: %s: %s", invocation.request, type(error).__name__, error) if isinstance(error, (AuthenticationError, IOError, HazelcastInstanceNotActiveError)): if self._try_retry(invocation): return if is_retryable_error(error): if invocation.request.is_retryable() or self._is_redo_operation: if self._try_retry(invocation): return invocation.set_exception(error, traceback)