@@ -250,10 +250,14 @@ object RaftClient {
250250 connectToMember(leaderId, transport, s " Not leader at $currentMemberId" )
251251
252252 case RejectionReason .SessionExpired =>
253- ZIO .dieMessage(" Session not found - cannot continue" )
253+ pendingRequests.dieAll(new RuntimeException (" Session expired" )) *>
254+ pendingQueries.dieAll(new RuntimeException (" Session expired" )) *>
255+ ZIO .dieMessage(" Session not found - cannot continue" )
254256
255257 case RejectionReason .InvalidCapabilities =>
256- ZIO .dieMessage(s " Invalid capabilities - cannot connect: ${capabilities}" )
258+ pendingRequests.dieAll(new RuntimeException (" Invalid capabilities" )) *>
259+ pendingQueries.dieAll(new RuntimeException (" Invalid capabilities" )) *>
260+ ZIO .dieMessage(s " Invalid capabilities - cannot connect: ${capabilities}" )
257261 }
258262 } else {
259263 ZIO .logWarning(" Nonce mismatch, ignoring SessionRejected" ).as(this )
@@ -399,12 +403,15 @@ object RaftClient {
399403 connectToMember(leaderId, transport, s " Not leader at $currentMemberId" )
400404
401405 case RejectionReason .SessionExpired =>
402- ZIO .logWarning(" Session not found - cannot continue" ) *> ZIO .dieMessage(
403- " Session not found - cannot continue"
404- )
406+ pendingRequests.dieAll(new RuntimeException (" Session expired" )) *>
407+ pendingQueries.dieAll(new RuntimeException (" Session expired" )) *>
408+ ZIO .logWarning(" Session not found - cannot continue" ) *>
409+ ZIO .dieMessage(" Session not found - cannot continue" )
405410
406411 case RejectionReason .InvalidCapabilities =>
407- ZIO .dieMessage(s " Invalid capabilities - cannot connect: ${capabilities}" )
412+ pendingRequests.dieAll(new RuntimeException (" Invalid capabilities" )) *>
413+ pendingQueries.dieAll(new RuntimeException (" Invalid capabilities" )) *>
414+ ZIO .dieMessage(s " Invalid capabilities - cannot connect: ${capabilities}" )
408415 }
409416 } else {
410417 ZIO .logWarning(" Nonce mismatch, ignoring SessionRejected" ).as(this )
@@ -561,7 +568,8 @@ object RaftClient {
561568 case StreamEvent .ServerMsg (RequestError (requestId, RequestErrorReason .ResponseEvicted )) =>
562569 if (pendingRequests.contains(requestId))
563570 ZIO .logError(s " RequestError: ResponseEvicted for request $requestId, terminating client " ) *>
564- pendingRequests.die(requestId, new RuntimeException (" ResponseEvicted" )) *>
571+ pendingRequests.dieAll(new RuntimeException (" ResponseEvicted" )) *>
572+ pendingQueries.dieAll(new RuntimeException (" ResponseEvicted" )) *>
565573 ZIO .dieMessage(" ResponseEvicted" )
566574 else
567575 ZIO .logWarning(s " RequestError for non-pending request $requestId, ignoring " ).as(this )
@@ -621,9 +629,10 @@ object RaftClient {
621629 )
622630
623631 case StreamEvent .ServerMsg (SessionClosed (SessionCloseReason .SessionExpired , _)) =>
624- ZIO .logWarning(" Session closed due to timeout, terminating client" ) *> ZIO .dieMessage(
625- " Session timed out: shutting down client."
626- )
632+ pendingRequests.dieAll(new RuntimeException (" Session expired" )) *>
633+ pendingQueries.dieAll(new RuntimeException (" Session expired" )) *>
634+ ZIO .logWarning(" Session closed due to timeout, terminating client" ) *>
635+ ZIO .dieMessage(" Session timed out: shutting down client." )
627636
628637 case StreamEvent .KeepAliveTick =>
629638 for {
0 commit comments