...

Text file src/go.mongodb.org/mongo-driver/testdata/server-discovery-and-monitoring/unified/logging-replicaset.yml

Documentation: go.mongodb.org/mongo-driver/testdata/server-discovery-and-monitoring/unified

     1description: "replicaset-logging"
     2
     3schemaVersion: "1.16"
     4
     5runOnRequirements:
     6  - topologies:
     7      - replicaset
     8    minServerVersion: "4.4" # awaitable hello
     9
    10createEntities:
    11  - client:
    12      id: &setupClient setupClient
    13
    14tests:
    15  - description: "Topology lifecycle"
    16    operations:
    17      - name: createEntities
    18        object: testRunner
    19        arguments:
    20          entities:
    21            - client:
    22                id: &client client
    23                observeLogMessages:
    24                  topology: debug
    25                observeEvents:
    26                  - topologyDescriptionChangedEvent
    27      # ensure the topology has been fully discovered before closing the client.
    28      # expected events are initial cluster type change from unknown to ReplicaSet, and connect events for each of 3 servers.
    29      - name: waitForEvent
    30        object: testRunner
    31        arguments:
    32          client: *client
    33          event:
    34            topologyDescriptionChangedEvent: {}
    35          count: 4
    36      - name: close
    37        object: *client
    38    expectLogMessages:
    39      - client: *client
    40        ignoreMessages:
    41          - level: debug
    42            component: topology
    43            data:
    44              message: "Starting server monitoring"
    45          - level: debug
    46            component: topology
    47            data:
    48              message: "Server heartbeat started"
    49          - level: debug
    50            component: topology
    51            data:
    52              message: "Server heartbeat succeeded"
    53          - level: debug
    54            component: topology
    55            data:
    56              message: "Server heartbeat failed"
    57        messages:
    58          - level: debug
    59            component: topology
    60            data:
    61              message: "Starting topology monitoring"
    62              topologyId: { $$exists: true }
    63          - level: debug
    64            component: topology
    65            data:
    66              message: "Topology description changed"
    67              topologyId: { $$exists: true }
    68              previousDescription:  { $$exists: true } # unknown topology
    69              newDescription: { $$exists: true } # ReplicaSet topology
    70          - level: debug
    71            component: topology
    72            data:
    73              message: "Topology description changed"
    74              topologyId: { $$exists: true }
    75              previousDescription:  { $$exists: true }
    76              newDescription: { $$exists: true } # server connected
    77          - level: debug
    78            component: topology
    79            data:
    80              message: "Topology description changed"
    81              topologyId: { $$exists: true }
    82              previousDescription:  { $$exists: true }
    83              newDescription: { $$exists: true } # server connected
    84          - level: debug
    85            component: topology
    86            data:
    87              message: "Topology description changed"
    88              topologyId: { $$exists: true }
    89              previousDescription:  { $$exists: true }
    90              newDescription: { $$exists: true } # server connected
    91          - level: debug
    92            component: topology
    93            data:
    94              message: "Stopped server monitoring"
    95              topologyId: { $$exists: true }
    96              serverHost: { $$type: string }
    97              serverPort: { $$type: [int, long] }
    98          - level: debug
    99            component: topology
   100            data:
   101              message: "Stopped server monitoring"
   102              topologyId: { $$exists: true }
   103              serverHost: { $$type: string }
   104              serverPort: { $$type: [int, long] }
   105          - level: debug
   106            component: topology
   107            data:
   108              message: "Stopped server monitoring"
   109              topologyId: { $$exists: true }
   110              serverHost: { $$type: string }
   111              serverPort: { $$type: [int, long] }
   112          # TODO(GODRIVER-2967): The following log message has been removed from
   113          # the JSON analogue because it assumes that 
   114          # "TopologyDescriptionChangedEvent" should occur when a topolgoy is 
   115          # closed. This behavior is not clearly defined anywhere and some 
   116          # drivers support and some don't.
   117          #
   118          # Need to sync whenever GODRIVER-2967 is unblocked.
   119          - level: debug
   120            component: topology
   121            data:
   122              message: "Topology description changed"
   123              topologyId: { $$exists: true }
   124              previousDescription:  { $$exists: true } # ReplicaSet topology
   125              newDescription: { $$exists: true } # unknown topology
   126          - level: debug
   127            component: topology
   128            data:
   129              message: "Stopped topology monitoring"
   130              topologyId: { $$exists: true }
   131  - description: Successful heartbeat
   132    operations:
   133      - name: createEntities
   134        object: testRunner
   135        arguments:
   136          entities:
   137          - client:
   138              id: *client
   139              observeLogMessages:
   140                topology: debug
   141              observeEvents:
   142              - serverHeartbeatSucceededEvent
   143      - name: waitForEvent
   144        object: testRunner
   145        arguments:
   146          client: *client
   147          event:
   148            serverHeartbeatSucceededEvent: {}
   149          count: 3
   150    expectLogMessages:
   151      - client: *client
   152        ignoreExtraMessages: true
   153        ignoreMessages:
   154          - level: debug
   155            component: topology
   156            data:
   157              message: "Server heartbeat started"
   158          - level: debug
   159            component: topology
   160            data:
   161              message: "Starting server monitoring"
   162          - level: debug
   163            component: topology
   164            data:
   165              message: "Stopped server monitoring"
   166          - level: debug
   167            component: topology
   168            data:
   169              message: "Topology description changed"
   170        messages:
   171          - level: debug
   172            component: topology
   173            data:
   174              message: "Starting topology monitoring"
   175              topologyId: { $$exists: true }
   176          - level: debug
   177            component: topology
   178            data:
   179              message: "Server heartbeat succeeded"
   180              awaited: { $$exists: true }
   181              topologyId: { $$exists: true }
   182              serverHost: { $$type: string }
   183              serverPort: { $$type: [int, long] }
   184              driverConnectionId: { $$exists: true }
   185              serverConnectionId: { $$exists: true }
   186              durationMS: { $$type: [int, long] }
   187              reply:
   188                $$matchAsDocument:
   189                  "$$matchAsRoot":
   190                    ok: 1
   191          - level: debug
   192            component: topology
   193            data:
   194              message: "Server heartbeat succeeded"
   195              awaited: { $$exists: true }
   196              topologyId: { $$exists: true }
   197              serverHost: { $$type: string }
   198              serverPort: { $$type: [int, long] }
   199              driverConnectionId: { $$exists: true }
   200              serverConnectionId: { $$exists: true }
   201              durationMS: { $$type: [int, long] }
   202              reply:
   203                $$matchAsDocument:
   204                  "$$matchAsRoot":
   205                    ok: 1
   206          - level: debug
   207            component: topology
   208            data:
   209              message: "Server heartbeat succeeded"
   210              awaited: { $$exists: true }
   211              topologyId: { $$exists: true }
   212              serverHost: { $$type: string }
   213              serverPort: { $$type: [int, long] }
   214              driverConnectionId: { $$exists: true }
   215              serverConnectionId: { $$exists: true }
   216              durationMS: { $$type: [int, long] }
   217              reply:
   218                $$matchAsDocument:
   219                  "$$matchAsRoot":
   220                    ok: 1
   221  - description: Failing heartbeat
   222    operations:
   223    - name: createEntities
   224      object: testRunner
   225      arguments:
   226        entities:
   227        - client:
   228            id: *client
   229            observeLogMessages:
   230              topology: debug
   231            observeEvents:
   232            - serverHeartbeatFailedEvent
   233            uriOptions:
   234              appname: failingHeartbeatLoggingTest
   235    - name: failPoint
   236      object: testRunner
   237      arguments:
   238        failPoint:
   239          configureFailPoint: failCommand
   240          mode: "alwaysOn"
   241          data:
   242            failCommands:
   243            - hello
   244            - isMaster
   245            appName: failingHeartbeatLoggingTest
   246            closeConnection: true
   247        client: *setupClient
   248    - name: waitForEvent
   249      object: testRunner
   250      arguments:
   251        client: *client
   252        event:
   253          serverHeartbeatFailedEvent: {}
   254        count: 1
   255    expectLogMessages:
   256      - client: *client
   257        ignoreExtraMessages: true
   258        ignoreMessages:
   259          - level: debug
   260            component: topology
   261            data:
   262              message: "Server heartbeat started"
   263          - level: debug
   264            component: topology
   265            data:
   266              message: "Server heartbeat succeeded"
   267          - level: debug
   268            component: topology
   269            data:
   270              message: "Starting server monitoring"
   271          - level: debug
   272            component: topology
   273            data:
   274              message: "Stopped server monitoring"
   275          - level: debug
   276            component: topology
   277            data:
   278              message: "Topology description changed"
   279        messages:
   280        - level: debug
   281          component: topology
   282          data:
   283            message: "Starting topology monitoring"
   284            topologyId:
   285              "$$exists": true
   286        - level: debug
   287          component: topology
   288          data:
   289            message: "Server heartbeat failed"
   290            awaited: { $$exists: true }
   291            topologyId: { $$exists: true }
   292            serverHost: { $$type: string }
   293            serverPort: { $$type: [int, long] }
   294            driverConnectionId: { $$exists: true }
   295            durationMS: { $$type: [int, long] }
   296            failure: { $$exists: true }

View as plain text