@@ -511,20 +511,39 @@ func TestSessionsProse(t *testing.T) {
511
511
})
512
512
513
513
mt .Run ("20 Drivers do not gossip $clusterTime on SDAM commands" , func (mt * mtest.T ) {
514
+ // heartbeatStarted := make(chan struct{})
515
+ // heartbeatSucceeded := make(chan struct{})
516
+ // clusterTimeAdvanced := make(chan struct{})
514
517
serverMonitor := & event.ServerMonitor {
515
518
ServerHeartbeatStarted : func (e * event.ServerHeartbeatStartedEvent ) {
516
519
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
+ // }
517
528
},
518
529
ServerHeartbeatSucceeded : func (e * event.ServerHeartbeatSucceededEvent ) {
519
530
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
+ // }
520
539
},
521
540
}
522
541
523
542
opts := options .Client ().
524
543
ApplyURI (mtest .ClusterURI ()).
525
544
SetHosts ([]string {mtest .ClusterConnString ().Hosts [0 ]}).
526
545
SetDirect (true ).
527
- SetHeartbeatInterval (500 * time .Millisecond ).
546
+ SetHeartbeatInterval (500 * time .Millisecond ). // Minimum interval
528
547
SetMonitor (& event.CommandMonitor {
529
548
Started : func (_ context.Context , cse * event.CommandStartedEvent ) {
530
549
fmt .Println ("Command started:" , cse .CommandName , cse .Command )
@@ -546,21 +565,24 @@ func TestSessionsProse(t *testing.T) {
546
565
{"ping" , 1 },
547
566
}).Raw ()
548
567
require .NoError (mt , err , "expected no error, got: %v" , err )
549
- mt .Log ("result of ping command:" , res )
568
+ replyClusterTime , err := res .LookupErr ("$clusterTime" )
569
+ require .NoError (mt , err , "$clusterTime not found in response" )
550
570
551
571
_ , err = mt .Client .Database ("test" ).Collection ("test" ).InsertOne (context .Background (), bson.D {{"advance" , "$clusterTime" }})
552
572
require .NoError (mt , err , "expected no error inserting document, got: %v" , err )
553
573
574
+ // close(clusterTimeAdvanced)
575
+ // <-heartbeatStarted
576
+ // <-heartbeatSucceeded
554
577
time .Sleep (3 * time .Second )
555
578
556
579
res , err = client .Database ("admin" ).RunCommand (context .Background (), bson.D {
557
580
{"ping" , 1 },
558
581
}).Raw ()
559
582
require .NoError (mt , err , "expected no error, got: %v" , err )
560
- mt .Log ("result of ping command:" , res )
561
- replyClusterTimeVal , err := res .LookupErr ("$clusterTime" )
583
+ replyClusterTimeNew , err := res .LookupErr ("$clusterTime" )
562
584
require .NoError (mt , err , "$clusterTime not found in response" )
563
- mt .Fatalf ("$clusterTime: %v" , replyClusterTimeVal )
585
+ mt .Fatalf ("$clusterTime: %v %v " , replyClusterTime , replyClusterTimeNew )
564
586
})
565
587
}
566
588
0 commit comments