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

Add writeEndOfTransaction internal command

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution

      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

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            ivan.fefer@mongodb.com Ivan Fefer
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: