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

DDL coordinators that rely on the internal transaction API should make use of the OSI session id

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0, 7.0.0-rc1
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Sharding EMEA
    • Fully Compatible
    • v7.0
    • Sharding EMEA 2023-03-06, Sharding EMEA 2023-03-20, Sharding EMEA 2023-04-03, Sharding EMEA 2023-04-17, Sharding EMEA 2023-05-01, Sharding EMEA 2023-05-15
    • 148

      The internal transaction API on ddl coordinators remotely runs a transaction on the CSRS to commit the changes on the catalog.

      However, because of a step-down, it can happen that the transaction does not abort correctly.

      In case this happen, a subsequent transaction due to the retried operation would hang waiting for the previous transaction to close, which usually occurs after a transaction timeout.

      In production the timeout is 60s, in the test framework it's 24h.

      To prevent any further issue related to it, we could just re-use the same session id which would force the previous transaction to close and run the new one.

       

            Assignee:
            paolo.polato@mongodb.com Paolo Polato
            Reporter:
            enrico.golfieri@mongodb.com Enrico Golfieri
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: