@@ -247,8 +247,10 @@ def listen(self, event: AfterPooledConnectionsInstantiationEvent):
247247
248248 if event .client_type == ClientType .SYNC :
249249 event .credential_provider .on_next (self ._re_auth )
250+ event .credential_provider .on_error (self ._raise_on_error )
250251 else :
251252 event .credential_provider .on_next (self ._re_auth_async )
253+ event .credential_provider .on_error (self ._raise_on_error_async )
252254
253255 def _re_auth (self , token ):
254256 for pool in self ._event .connection_pools :
@@ -258,6 +260,12 @@ async def _re_auth_async(self, token):
258260 for pool in self ._event .connection_pools :
259261 await pool .re_auth_callback (token )
260262
263+ def _raise_on_error (self , error : Exception ):
264+ raise error
265+
266+ async def _raise_on_error_async (self , error : Exception ):
267+ raise error
268+
261269
262270class RegisterReAuthForSingleConnection (EventListenerInterface ):
263271 """
@@ -273,8 +281,10 @@ def listen(self, event: AfterSingleConnectionInstantiationEvent):
273281
274282 if event .client_type == ClientType .SYNC :
275283 event .connection .credential_provider .on_next (self ._re_auth )
284+ event .connection .credential_provider .on_error (self ._raise_on_error )
276285 else :
277286 event .connection .credential_provider .on_next (self ._re_auth_async )
287+ event .connection .credential_provider .on_error (self ._raise_on_error_async )
278288
279289 def _re_auth (self , token ):
280290 with self ._event .connection_lock :
@@ -286,6 +296,12 @@ async def _re_auth_async(self, token):
286296 await self ._event .connection .send_command ('AUTH' , token .try_get ('oid' ), token .get_value ())
287297 await self ._event .connection .read_response ()
288298
299+ def _raise_on_error (self , error : Exception ):
300+ raise error
301+
302+ async def _raise_on_error_async (self , error : Exception ):
303+ raise error
304+
289305
290306class RegisterReAuthForAsyncClusterNodes (EventListenerInterface ):
291307 def __init__ (self ):
@@ -295,11 +311,15 @@ def listen(self, event: AfterAsyncClusterInstantiationEvent):
295311 if isinstance (event .credential_provider , StreamingCredentialProvider ):
296312 self ._event = event
297313 event .credential_provider .on_next (self ._re_auth )
314+ event .credential_provider .on_error (self ._raise_on_error )
298315
299316 async def _re_auth (self , token : TokenInterface ):
300317 for key in self ._event .nodes :
301318 await self ._event .nodes [key ].re_auth_callback (token )
302319
320+ async def _raise_on_error (self , error : Exception ):
321+ raise error
322+
303323
304324class RegisterReAuthForPubSub (EventListenerInterface ):
305325 def __init__ (self ):
@@ -320,8 +340,10 @@ def listen(self, event: AfterPubSubConnectionInstantiationEvent):
320340
321341 if self ._client_type == ClientType .SYNC :
322342 self ._connection .credential_provider .on_next (self ._re_auth )
343+ self ._connection .credential_provider .on_error (self ._raise_on_error )
323344 else :
324345 self ._connection .credential_provider .on_next (self ._re_auth_async )
346+ self ._connection .credential_provider .on_error (self ._raise_on_error_async )
325347
326348 def _re_auth (self , token : TokenInterface ):
327349 with self ._connection_lock :
@@ -336,3 +358,9 @@ async def _re_auth_async(self, token: TokenInterface):
336358 await self ._connection .read_response ()
337359
338360 await self ._connection_pool .re_auth_callback (token )
361+
362+ def _raise_on_error (self , error : Exception ):
363+ raise error
364+
365+ async def _raise_on_error_async (self , error : Exception ):
366+ raise error
0 commit comments