【问题标题】:MongoDb Primary Oplog one hour behing realtimeMongoDb Primary Oplog 比实时时间晚一小时
【发布时间】:2021-12-21 03:05:52
【问题描述】:

因为在我的国家,时间被改为“提前”一小时。我的副本集正在做一些我无法理解的事情。这是一个 4.2 版本和 P-S-S 副本集。

Primary oplog 正在以错误的时间注册操作,它会为 9:00 完成的操作注册 8:00。

当我在 mongo shell 中检查时间时,操作系统时间已正确设置,我得到以下信息:

set1:PRIMARY> Date()
Mon Nov 08 2021 09:29:57 GMT+0100 (CET)
set1:PRIMARY> ISODate()
ISODate("2021-11-08T08:30:11.674Z")

Mongo 在哪里获取 ISODate 值?可以改吗?

【问题讨论】:

  • 请注意,ISODate 返回的时间是 UTC,而不是 CET。

标签: mongodb date replicaset mongodb-oplog


【解决方案1】:

您的数据库始终使用 UTC 时间戳,因为 UTC 不遵循节能时间,也就是夏令时。

这将防止当世界从冬季到夏季以及返回(在不同的日期,在不同的国家)时出现问题。

【讨论】:

  • 我不知道,谢谢。我只是觉得很奇怪 oplog 记录的动作比实时慢一个小时,但只要它不会引起问题,我就很酷
  • 如果突然 oplog 有条目,你认为会发生什么时间戳是前一个时间戳之前的一小时? (当国家从夏季变为冬季时)...
  • 是的,你是对的,这完全有道理。感谢您的回答!
  • ...您应该将答案标记为“正确”然后... ;-)
猜你喜欢
  • 2020-01-12
  • 2015-11-29
  • 1970-01-01
  • 2013-04-24
  • 2011-10-27
  • 1970-01-01
  • 2011-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多