Mongodb 4 oplog中的t是什么意思?

时间:2018-08-10 18:51:29

标签: database mongodb replication

我搜索了oplog中的所有字段,但信息不完整。 我理解一个术语的含义,但是术语的含义是什么? 这是操作日志:

{
    "ts" : Timestamp(1533734637, 2),
    "t" : NumberLong(5),
    "h" : NumberLong("1266644680682122010"),
    "v" : 2,
    "op" : "i",
    "ns" : "mydb.somecollection",
    "ui" : UUID("vxcvzxcvzxcv"),
    "wall" : ISODate("2018-08-08T13:23:57.963Z"),
    "o" : {
        "_id" : UUID("7a007a72-cefe-3102-90b1-927fef7ab8d4"),
        "_sid" : UUID("7a007a72-cefe-3102-90b1-927fef7ab8d4"),
        "generation" : NumberLong(1),
        "expiration" : NumberLong("1533821036856000"),
    }
}

1 个答案:

答案 0 :(得分:2)

自MongoDB v 4.0起,我们具有复制协议版本1( pv1 )。正如replication internals的文档所述:

  

在新协议PV1中,OpTimes还包括一个 term 字段,该字段指示自副本集开始以来发生了多少次选举。

和选举是确定哪个副本集成员应成为主要副本的过程。发生这种情况的时间是:

  • 向副本集添加新节点,
  • 启动副本集,
  • 使用rs.stepDown()或rs.reconfig()之类的方法执行副本集维护
  • 次要成员失去与主要成员的连接的时间超过了配置的超时时间(默认为10秒)。

有关选举here

的更多信息