-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
Fully Compatible
-
ALL
-
v4.4
-
Sharding 2020-08-24, Sharding 2020-09-21, Sharding 2020-10-05, Sharding 2020-10-19, Sharding 2020-11-02, Sharding 2020-11-16
-
8
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.