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

Ensure ReplClientInfo's last opTime can't be moved backwards

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.4.3, 3.5.4
    • Component/s: Replication
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v3.4
    • Sprint:
      Repl 2017-03-06

      Description

      This issue does not happen in production. Its a result of adding an invariant

      void ReplClientInfo::setLastOp(const OpTime& op) {
      +    invariant(op >= _lastOp);
          _lastOp = op;
      }
      

      However it may worth to take a look as it may become more evident with LogicalClock. The patch that hast this issue is below:
      https://evergreen.mongodb.com/version/58a3710d3ff122311b00f5db

      [js_test:config_version_rollback] 2017-02-14T21:33:21.790+0000 c23010|  mongod(_ZN5mongo15printStackTraceERSo+0x41) [0x7fa223d22db1]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.790+0000 c23010|  mongod(+0x16FEEA9) [0x7fa223d21ea9]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.790+0000 c23010|  mongod(+0x16FF38D) [0x7fa223d2238d]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.791+0000 c23010|  libpthread.so.0(+0xF7E0) [0x7fa21fbd37e0]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.791+0000 c23010|  libc.so.6(gsignal+0x35) [0x7fa21f8625e5]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.791+0000 c23010|  libc.so.6(abort+0x175) [0x7fa21f863dc5]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.792+0000 c23010|  mongod(_ZN5mongo17invariantOKFailedEPKcRKNS_6StatusES1_j+0x0) [0x7fa222eaf16c]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.792+0000 c23010|  mongod(_ZN5mongo4repl14ReplClientInfo9setLastOpERKNS0_6OpTimeE+0x35) [0x7fa223731145]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.792+0000 c23010|  mongod(_ZN5mongo4repl14ReplClientInfo27setLastOpToSystemLastOpTimeEPNS_16OperationContextE+0x88) [0x7fa223731218]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.793+0000 c23010|  mongod(_ZN5mongo14performDeletesEPNS_16OperationContextERKNS_8DeleteOpE+0x1F91) [0x7fa223490211]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.793+0000 c23010|  mongod(_ZN5mongo9CmdDelete7runImplEPNS_16OperationContextERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7BSONObjERNS_14BSONObjBuilderE+0x4F) [0x7fa2231f953f]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.793+0000 c23010|  mongod(+0xBD1CBC) [0x7fa2231f4cbc]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.794+0000 c23010|  mongod(_ZN5mongo7Command3runEPNS_16OperationContextERKNS_3rpc16RequestInterfaceEPNS3_21ReplyBuilderInterfaceE+0x8E4) [0x7fa22312b634]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.794+0000 c23010|  mongod(_ZN5mongo19execCommandDatabaseEPNS_16OperationContextEPNS_7CommandERKNS_3rpc16RequestInterfaceEPNS4_21ReplyBuilderInterfaceE+0xA16) [0x7fa22312c666]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.794+0000 c23010|  mongod(_ZN5mongo7Command11execCommandEPNS_16OperationContextEPS0_RKNS_3rpc16RequestInterfaceEPNS4_21ReplyBuilderInterfaceE+0x4C) [0x7fa2230fa03c]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.795+0000 c23010|  mongod(_ZN5mongo11runCommandsEPNS_16OperationContextERKNS_3rpc16RequestInterfaceEPNS2_21ReplyBuilderInterfaceE+0x26D) [0x7fa22381945d]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.795+0000 c23010|  mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortE+0xCC5) [0x7fa2230207a5]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.796+0000 c23010|  mongod(_ZN5mongo23ServiceEntryPointMongod12_sessionLoopERKSt10shared_ptrINS_9transport7SessionEE+0x1ED) [0x7fa222f28c9d]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.796+0000 c23010|  mongod(+0x9065DD) [0x7fa222f295dd]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.796+0000 c23010|  mongod(+0x16644A2) [0x7fa223c874a2]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.796+0000 c23010|  libpthread.so.0(+0x7AA1) [0x7fa21fbcbaa1]
      [js_test:config_version_rollback] 2017-02-14T21:33:21.796+0000 c23010|  libc.so.6(clone+0x6D) [0x7fa21f918aad]
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: