Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major - P3
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: Testing Infrastructure
-
Labels:None
-
Backwards Compatibility:Fully Compatible
-
Operating System:ALL
-
Backport Requested:v3.6
-
Sprint:TIG 2018-1-15
-
Linked BF Score:0
Description
Depending on the number of write errors in the server's response, we may spend >10 minutes in the for-loop to filter out successful write operations due to serializing the server's response as a JSON string. This leads to the assert.soon() timeout expiring without actually ever being able to perform a single retry.
// We filter out operations that didn't produce a write error to avoid causing a
|
// duplicate key error when retrying the operations.
|
for (let writeError of res.writeErrors) { |
assert.lt(writeError.index,
|
opsExecuted.length,
|
"A write error was returned for an operation outside the list" + |
" of operations executed: " + tojson(res)); |
opsToRetry.push(opsExecuted[writeError.index]);
|
}
|
We should change the way the assertion is written to avoid calling tojson(res) so many times.
Attachments
Issue Links
- related to
-
SERVER-33034 Change assertion functions to accept a function returning a string as the message parameter
-
- Closed
-