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

Add writeEndOfTransaction internal command

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Query Execution

    Description

      This command will be used by transaction coordinator to tell shards to write endOfTransaction no-op oplog entry.

      It should accept:
      1. Transaction information (lsid, txnNumber, retryCounter)
      2. List of affected namespaces with shard versions.

      It should:

      1. Check for each affected namespace that this shard has at least one chunk for this namespace.
      2. Return stale error if it is not true
      3. Return ok and write end-of-transaction oplog entry if true.

       

      Optionally, we can do checks independently for each namespaces, so if shard has only some namespaces, it can return to the caller the list of "accepted" namespaces and "rejected" namespaces. This will introduce some complexity, but may potentially lower the number of retries in volatile environment

      Attachments

        Activity

          People

            backlog-query-execution Backlog - Query Execution
            ivan.fefer@mongodb.com Ivan Fefer
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: