@@ -511,20 +511,39 @@ func TestSessionsProse(t *testing.T) {
511511 })
512512
513513 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{})
514517 serverMonitor := & event.ServerMonitor {
515518 ServerHeartbeatStarted : func (e * event.ServerHeartbeatStartedEvent ) {
516519 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+ // }
517528 },
518529 ServerHeartbeatSucceeded : func (e * event.ServerHeartbeatSucceededEvent ) {
519530 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+ // }
520539 },
521540 }
522541
523542 opts := options .Client ().
524543 ApplyURI (mtest .ClusterURI ()).
525544 SetHosts ([]string {mtest .ClusterConnString ().Hosts [0 ]}).
526545 SetDirect (true ).
527- SetHeartbeatInterval (500 * time .Millisecond ).
546+ SetHeartbeatInterval (500 * time .Millisecond ). // Minimum interval
528547 SetMonitor (& event.CommandMonitor {
529548 Started : func (_ context.Context , cse * event.CommandStartedEvent ) {
530549 fmt .Println ("Command started:" , cse .CommandName , cse .Command )
@@ -546,21 +565,24 @@ func TestSessionsProse(t *testing.T) {
546565 {"ping" , 1 },
547566 }).Raw ()
548567 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" )
550570
551571 _ , err = mt .Client .Database ("test" ).Collection ("test" ).InsertOne (context .Background (), bson.D {{"advance" , "$clusterTime" }})
552572 require .NoError (mt , err , "expected no error inserting document, got: %v" , err )
553573
574+ // close(clusterTimeAdvanced)
575+ // <-heartbeatStarted
576+ // <-heartbeatSucceeded
554577 time .Sleep (3 * time .Second )
555578
556579 res , err = client .Database ("admin" ).RunCommand (context .Background (), bson.D {
557580 {"ping" , 1 },
558581 }).Raw ()
559582 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" )
562584 require .NoError (mt , err , "$clusterTime not found in response" )
563- mt .Fatalf ("$clusterTime: %v" , replyClusterTimeVal )
585+ mt .Fatalf ("$clusterTime: %v %v " , replyClusterTime , replyClusterTimeNew )
564586 })
565587}
566588
0 commit comments