Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2112

Retryable writes can write twice under very specific circumstances

    XMLWordPrintableJSON

Details

    • Icon: Spec Change Spec Change
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • Retryability
    • None
    • Needed

    Description

      The spec for retryable writes https://github.com/mongodb/specifications/blob/master/source/retryable-writes/retryable-writes.rst contains a Q&A section at the end of the document.

      However, the Q&A does not address one particular scenario when retryable writes can violate its "once and only once" guarantee, which was mentioned in the docs under Failover Period:

      If the client application becomes temporarily unresponsive for more than the localLogicalSessionTimeoutMinutes after issuing a write operation, there is a chance that when the client applications starts responding (without a restart), the write operation may be retried and applied again.

      This has created some confusion in the community since there seems to exist at least one possibility, no matter how small, that a retryable write can violate its intended design.

      Please consider adding this specific failure scenario (and how unlikely it is) to the Q&A section.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kevin.adistambha@mongodb.com Kevin Adistambha
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated: