Skip to content

Commit d448450

Browse files
committed
WIP
1 parent fd671c9 commit d448450

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

internal/integration/sessions_test.go

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)