This repository was archived by the owner on Jun 11, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
src/Microsoft.Azure.EventHubs/Amqp
test/Microsoft.Azure.EventHubs.UnitTests Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -130,10 +130,10 @@ protected override void OnSetReceiveHandler(IPartitionReceiveHandler newReceiveH
130130 {
131131 lock ( this . receivePumpLock )
132132 {
133- if ( this . receiveHandler != null )
133+ if ( newReceiveHandler != null && this . receiveHandler != null )
134134 {
135135 // Notify existing handler first (but don't wait).
136- this . receiveHandler . ProcessErrorAsync ( new OperationCanceledException ( "New handler has registered for this receiver." ) ) ; // .Fork();
136+ this . receiveHandler . ProcessErrorAsync ( new OperationCanceledException ( "New handler has registered for this receiver." ) ) ;
137137 }
138138
139139 this . receiveHandler = newReceiveHandler ;
Original file line number Diff line number Diff line change @@ -532,7 +532,13 @@ async Task PartitionReceiverSetReceiveHandler()
532532
533533 EventWaitHandle dataReceivedEvent = new EventWaitHandle ( false , EventResetMode . ManualReset ) ;
534534 var handler = new TestPartitionReceiveHandler ( ) ;
535- handler . ErrorReceived += ( s , e ) => Log ( $ "TestPartitionReceiveHandler.ProcessError { e . GetType ( ) . Name } : { e . Message } ") ;
535+
536+ // Not expecting any errors.
537+ handler . ErrorReceived += ( s , e ) =>
538+ {
539+ throw new Exception ( $ "TestPartitionReceiveHandler.ProcessError { e . GetType ( ) . Name } : { e . Message } ") ;
540+ } ;
541+
536542 handler . EventsReceived += ( s , eventDatas ) =>
537543 {
538544 int count = eventDatas != null ? eventDatas . Count ( ) : 0 ;
@@ -564,6 +570,10 @@ async Task PartitionReceiverSetReceiveHandler()
564570 }
565571 finally
566572 {
573+ // Unregister handler.
574+ partitionReceiver . SetReceiveHandler ( null ) ;
575+
576+ // Close clients.
567577 await partitionSender . CloseAsync ( ) ;
568578 await partitionReceiver . CloseAsync ( ) ;
569579 }
You can’t perform that action at this time.
0 commit comments