[SERVER-29988] afterClusterTime cannot be a null timestamp Created: 05/Jul/17  Updated: 30/Oct/23  Resolved: 12/Jul/17

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 3.5.10

Type: Bug Priority: Major - P3
Reporter: Misha Tyulenev Assignee: Misha Tyulenev
Resolution: Fixed Votes: 0
Labels: PM-221
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Sharding 2017-07-31
Participants:

 Description   

While running sharding_jscore_passthrough_WT with causal consistency set to true by default have this error in

[js_test:js3] 2017-07-05T18:03:41.245+0000 	"shards" : {
[js_test:js3] 2017-07-05T18:03:41.245+0000 
[js_test:js3] 2017-07-05T18:03:41.245+0000 	},
[js_test:js3] 2017-07-05T18:03:41.245+0000 	"ok" : 0,
[js_test:js3] 2017-07-05T18:03:41.246+0000 	"errmsg" : "failed on: shard0000 :: caused by :: afterClusterTime cannot be a null timestamp",
[ShardedClusterFixture:job3:mongos] 2017-07-05T18:03:41.246+0000 I NETWORK  [conn34] end connection 127.0.0.1:40237 (0 connections now open)
[js_test:js3] 2017-07-05T18:03:41.247+0000 	"code" : 72,
[js_test:js3] 2017-07-05T18:03:41.247+0000 	"codeName" : "InvalidOptions",
[js_test:js3] 2017-07-05T18:03:41.248+0000 	"$logicalTime" : {
[js_test:js3] 2017-07-05T18:03:41.248+0000 		"clusterTime" : Timestamp(1499277820, 4),
[js_test:js3] 2017-07-05T18:03:41.248+0000 		"signature" : {
[js_test:js3] 2017-07-05T18:03:41.248+0000 			"hash" : BinData(0,"/QLK86U/uC3lnUkcwH33dZtt5KU="),
[js_test:js3] 2017-07-05T18:03:41.248+0000 			"keyId" : NumberLong("6439349204518174721")
[js_test:js3] 2017-07-05T18:03:41.249+0000 		}
[js_test:js3] 2017-07-05T18:03:41.249+0000 	},
[js_test:js3] 2017-07-05T18:03:41.249+0000 	"operationTime" : Timestamp(0, 0)
[js_test:js3] 2017-07-05T18:03:41.249+0000 } :

while those failures are non reproducible locally they are indicating that the previous operation did not return valid operationTime.

After investigation:
The problem happens when the server does not return any operationTime. Consequently mongo shell sets its operationTime to a Timestamp(0,0) This is possible when mongos talks to standalone mongod which does not return operationTime.



 Comments   
Comment by Githook User [ 12/Jul/17 ]

Author:

{u'username': u'mikety', u'name': u'Misha Tyulenev', u'email': u'misha@mongodb.com'}

Message: SERVER-29988 operationTime returned to mongo shell can not be uninitialized
Branch: master
https://github.com/mongodb/mongo/commit/c1a3dd7fc02656a952d6f99f08c0e539bae805d1

Generated at Thu Feb 08 04:22:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.