Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-51422

Unreliable ismaster.js test

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      None
    • Replication
    • ALL

      Observed in a patch test, ismaster.js fails like:

      [js_test:ismaster] 2020-10-07T19:43:36.965+0000 assert: [{
      [js_test:ismaster] 2020-10-07T19:43:36.965+0000 	"isWritablePrimary" : true,
      [js_test:ismaster] 2020-10-07T19:43:36.965+0000 	"msg" : "isdbgrid",
      [js_test:ismaster] 2020-10-07T19:43:36.965+0000 	"topologyVersion" : {
      [js_test:ismaster] 2020-10-07T19:43:36.965+0000 		"processId" : ObjectId("5f7e1a341486671d8f7415fa"),
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 		"counter" : NumberLong(0)
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	},
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"maxBsonObjectSize" : 16777216,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"maxMessageSizeBytes" : 48000000,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"maxWriteBatchSize" : 100000,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"logicalSessionTimeoutMinutes" : 30,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"connectionId" : 79,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"maxWireVersion" : 12,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"minWireVersion" : 0,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"ok" : 1,
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"$clusterTime" : {
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 		"clusterTime" : Timestamp(1602099814, 8),
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 		"signature" : {
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 			"keyId" : NumberLong(0)
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 		}
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	},
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 	"operationTime" : Timestamp(1602099814, 8)
      [js_test:ismaster] 2020-10-07T19:43:36.966+0000 }] != [{
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"isWritablePrimary" : true,
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"msg" : "isdbgrid",
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"topologyVersion" : {
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 		"processId" : ObjectId("5f7e1a341486671d8f7415fa"),
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 		"counter" : NumberLong(0)
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	},
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"maxBsonObjectSize" : 16777216,
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"maxMessageSizeBytes" : 48000000,
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"maxWriteBatchSize" : 100000,
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"logicalSessionTimeoutMinutes" : 30,
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"connectionId" : 79,
      [js_test:ismaster] 2020-10-07T19:43:36.967+0000 	"maxWireVersion" : 12,
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 	"minWireVersion" : 0,
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 	"ok" : 1,
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 	"$clusterTime" : {
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 		"clusterTime" : Timestamp(1602099816, 1),
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 		"signature" : {
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 			"keyId" : NumberLong(0)
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 		}
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 	},
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 	"operationTime" : Timestamp(1602099816, 1)
      [js_test:ismaster] 2020-10-07T19:43:36.968+0000 }] are not equal
      [js_test:ismaster] 2020-10-07T19:43:36.969+0000 doassert@src/mongo/shell/assert.js:20:14
      [js_test:ismaster] 2020-10-07T19:43:36.969+0000 assert.eq@src/mongo/shell/assert.js:179:9
      [js_test:ismaster] 2020-10-07T19:43:36.969+0000 @jstests/core/ismaster.js:75:1
      

      The test is comparing the ismaster and hello responses. It deletes "localtime" from each response before comparing them, but it should delete operationTime and clusterTime as well, in case a background op advances the timestamps between calls.

            Assignee:
            backlog-server-repl [DO NOT USE] Backlog - Replication Team
            Reporter:
            jesse@mongodb.com A. Jesse Jiryu Davis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: