...

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

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

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

View as plain text