【问题标题】:What does the t in Mongodb 4 oplog mean?Mongodb 4 oplog中的t是什么意思?
【发布时间】:2018-08-10 18:51:28
【问题描述】:

我已经广泛搜索了 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"),
    }
}

【问题讨论】:

    标签: database mongodb replication


    【解决方案1】:

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

    在新协议 PV1 中,OpTimes 还包含一个 term 字段,用于指示自副本集启动以来发生了多少次选举。

    选举是一个确定哪个副本集成员应该成为主副本的过程。这将在以下情况下发生:

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

    更多关于选举here

    【讨论】:

    • 感谢 micki 提供的信息丰富的答案并指向文档!如果我理解正确,这是否意味着 t 中的 5 表示自该 oplog 开始以来已经进行了 5 次选举?
    • @MinhNguyen 是的,我就是这么理解的
    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2014-04-02
    相关资源
    最近更新 更多