Fix applying large transaction chains on standby nodes for SLS

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • Repl 2025-09-15, Repl 2025-09-29
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Large transaction chains are currently failing with this stack trace:

       

      [js_test:transaction_table_oplog_replay] d20047| {"t":{"$date":"2025-09-11T15:03:27.560+00:00"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"Disagg-0","msg":"Frame","attr":{"frame":{"a":"C60C88C42810","b":"C60C6CEA0000","o":"1BDA2810","s":"_ZN5mongo17invariantOKFailedEPKcRKNS_6StatusENS_24WrappedStdSourceLocationE","C":"mongo::invariantOKFailed(char const*, mongo::Status const&, mongo::WrappedStdSourceLocation)","s+":"1CC"}}}
      [js_test:transaction_table_oplog_replay] d20047| {"t":{"$date":"2025-09-11T15:03:27.560+00:00"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"Disagg-0","msg":"Frame","attr":{"frame":{"a":"C60C7F1AB664","b":"C60C6CEA0000","o":"1230B664","s":"_ZN5mongo18WiredTigerKVEngine29setRecoveryCheckpointMetadataENS_10StringDataE","C":"mongo::WiredTigerKVEngine::setRecoveryCheckpointMetadata(mongo::StringData)","s+":"198"}}}
      [js_test:transaction_table_oplog_replay] d20047| {"t":{"$date":"2025-09-11T15:03:27.560+00:00"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"Disagg-0","msg":"Frame","attr":{"frame":{"a":"C60C81A3510C","b":"C60C6CEA0000","o":"14B9510C","s":"_ZN5mongo17StorageEngineImpl29setRecoveryCheckpointMetadataENS_10StringDataE","C":"mongo::StorageEngineImpl::setRecoveryCheckpointMetadata(mongo::StringData)","s+":"50"}}}
      [js_test:transaction_table_oplog_replay] d20047| {"t":{"$date":"2025-09-11T15:03:27.560+00:00"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"Disagg-0","msg":"Frame","attr":{"frame":{"a":"C60C7EC872D4","b":"C60C6CEA0000","o":"11DE72D4","s":"_ZN5mongo6disagg17CheckpointManager24_updateStorageCheckpointEPNS_16OperationContextERKNS0_20CheckpointMarkerInfoEb","C":"mongo::disagg::CheckpointManager::_updateStorageCheckpoint(mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool)","s+":"3E0"}}}
      [js_test:transaction_table_oplog_replay] d20047| {"t":{"$date":"2025-09-11T15:03:27.560+00:00"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"Disagg-0","msg":"Frame","attr":{"frame":{"a":"C60C7EC8E1A4","b":"C60C6CEA0000","o":"11DEE1A4","s":"_ZSt13__invoke_implIvRPFvPN5mongo16OperationContextERKNS0_6disagg20CheckpointMarkerInfoEbEJS2_S6_bEET_St14__invoke_otherOT0_DpOT1_","C":"void std::__invoke_impl<void, void (*&)(mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool), mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool>(std::__invoke_other, void (*&)(mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool), mongo::OperationContext*&&, mongo::disagg::CheckpointMarkerInfo const&, bool&&)","s+":"44"}}}
      [js_test:transaction_table_oplog_replay] d20047| {"t":{"$date":"2025-09-11T15:03:27.560+00:00"},"s":"I",  "c":"CONTROL",  "id":31445,   "ctx":"Disagg-0","msg":"Frame","attr":{"frame":{"a":"C60C7EC8E128","b":"C60C6CEA0000","o":"11DEE128","s":"_ZSt10__invoke_rIvRPFvPN5mongo16OperationContextERKNS0_6disagg20CheckpointMarkerInfoEbEJS2_S6_bEENSt9enable_ifIX16is_invocable_r_vIT_T0_DpT1_EESB_E4typeEOSC_DpOSD_","C":"std::enable_if<is_invocable_r_v<void, void (*&)(mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool), mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool>, void>::type std::__invoke_r<void, void (*&)(mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool), mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool>(void (*&)(mongo::OperationContext*, mongo::disagg::CheckpointMarkerInfo const&, bool), mongo::OperationContext*&&, mongo::disagg::CheckpointMarkerInfo const&, bool&&)","s+":"34"}}} 

      Looks like the error is coming from here.

       

      This ticket should enable any disabled tests once the issue is resolved

        1. test_copy.js
          3 kB
        2. out
          685 kB

            Assignee:
            Xuerui Fa
            Reporter:
            Xuerui Fa
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: