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

Write operation might invariant if a target error and a response error is received

    XMLWordPrintable

    Details

    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.4
    • Sprint:
      Sharding 2020-08-24, Sharding 2020-09-21, Sharding 2020-10-05, Sharding 2020-10-19, Sharding 2020-11-02, Sharding 2020-11-16
    • Linked BF Score:
      8

      Description

      Supose we have a sharded cluster with 2 shards: shard0 and shard1 and one router: router0. If router0 losses communication with the primary of shard0 (causing a targeting error) and a transaction with a multi-write operation comes in, then this condition will change the write op state to ERROR, which will conflict with the second shard response, because the entire operation should be canceled (a failure when trying an operation within a transaction should cancel the entire operation), causing this invariant to hit. On the depended BF we can see such situation, and even though the reproduction steps involves a RSM failure and a crash on wireTiger, we could develop an unittest to check and correct this behaviour.

        Attachments

          Activity

            People

            Assignee:
            marcos.grillo Marcos José Grillo Ramirez
            Reporter:
            marcos.grillo Marcos José Grillo Ramirez
            Participants:
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: