@@ -13,6 +13,7 @@ import (
13
13
"fmt"
14
14
"reflect"
15
15
"sync"
16
+ "sync/atomic"
16
17
"testing"
17
18
"time"
18
19
@@ -513,29 +514,19 @@ func TestSessionsProse(t *testing.T) {
513
514
mt .Run ("20 Drivers do not gossip $clusterTime on SDAM commands" , func (mt * mtest.T ) {
514
515
// heartbeatStarted := make(chan struct{})
515
516
// heartbeatSucceeded := make(chan struct{})
516
- // clusterTimeAdvanced := make(chan struct{})
517
+ var clusterTimeAdvanced uint32
517
518
serverMonitor := & event.ServerMonitor {
518
519
ServerHeartbeatStarted : func (e * event.ServerHeartbeatStartedEvent ) {
519
520
fmt .Println ("Server heartbeat started:" , e .ConnectionID )
520
- // select {
521
- // case _, ok := <-clusterTimeAdvanced:
522
- // if !ok {
523
- // heartbeatStarted <- struct{}{}
524
- // }
525
- // default:
526
- // // NOOP
527
- // }
521
+ if atomic .LoadUint32 (& clusterTimeAdvanced ) == 1 {
522
+ fmt .Println ("ServerHeartbeatStartedEvent: cluster time advanced" )
523
+ }
528
524
},
529
525
ServerHeartbeatSucceeded : func (e * event.ServerHeartbeatSucceededEvent ) {
530
526
fmt .Println ("Server heartbeat succeeded:" , e .ConnectionID , e .Duration , e .Reply )
531
- // select {
532
- // case _, ok := <-clusterTimeAdvanced:
533
- // if !ok {
534
- // heartbeatSucceeded <- struct{}{}
535
- // }
536
- // default:
537
- // // NOOP
538
- // }
527
+ if atomic .LoadUint32 (& clusterTimeAdvanced ) == 1 {
528
+ fmt .Println ("ServerHeartbeatSucceededEvent: cluster time advanced" )
529
+ }
539
530
},
540
531
}
541
532
@@ -571,7 +562,7 @@ func TestSessionsProse(t *testing.T) {
571
562
_ , err = mt .Client .Database ("test" ).Collection ("test" ).InsertOne (context .Background (), bson.D {{"advance" , "$clusterTime" }})
572
563
require .NoError (mt , err , "expected no error inserting document, got: %v" , err )
573
564
574
- // close( clusterTimeAdvanced)
565
+ atomic . StoreUint32 ( & clusterTimeAdvanced , 1 )
575
566
// <-heartbeatStarted
576
567
// <-heartbeatSucceeded
577
568
time .Sleep (3 * time .Second )
0 commit comments