-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Replication
-
Fully Compatible
-
ALL
-
Repl 2024-12-23, Repl 2025-01-06
-
0
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
In the runUpdateV2IdempotencyTest, we attempt to generate randomized update Ops to apply. We achieve this by creating a random new version of a document and then sending it to oplogDiff function that generates the diff section of the update operation object. However, this function returns an empty BSON if the computed diff size is larger than the 'post' image itself. Our current test doesn't handle this scenario, resulting in an empty diff object being placed in the update op object, which triggers an exception on the server as it doesn't permit this.
To address this issue, we should implement a mechanism to handle cases where an empty diff object is generated. Specifically, we can have the test retry the randomized generation of the update op if an empty diff object is encountered. Given that this issue occurs very rarely (historically once per year), implementing a retry mechanism is acceptable and won't cause the test to loop indefinitely.