Replica set endpoint doesn't return "TransientTransactionError" label for a write command that is run against a secondary

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • Fully Compatible
    • ALL
    • Cluster Scalability 2024-4-15, Cluster Scalability 2024-4-29, Cluster Scalability 2024-5-13
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Before forcing a write command to go through the router, the replica set endpoint does a pre-check to ensure that the node is a primary. This check is performed "too early", i.e. not inside the ServiceEntryPoint which has the code to attach the error labels (e.g. here and here). Not returning the "TransientTransactionError" label means that the drivers wouldn't retry the transaction on behalf of the user. So this needs to be fixed. 

      NB: This pre-check also affects error labeling in general (e.g. "RetryableWriteError"). 

            Assignee:
            Cheahuychou Mao
            Reporter:
            Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: