[SERVER-34057] Update onPrimaryTransactionalWrite fail point for multi-statement transactions Created: 21/Mar/18 Updated: 19/Apr/18 Resolved: 19/Apr/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | A. Jesse Jiryu Davis | Assignee: | Spencer Brody (Inactive) |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Sprint: | Repl 2018-04-23 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
For the sake of driver testing, let's make the onPrimaryTransactionalWrite fail point work the same within a multi-statement transaction as it does for retryable writes. It looks like this fail point still works in 3.7 as expected for retryable writes, but we can't currently use it for testing multi-statement transactions because it has no effect for commands that include "autocommit: false"? Here's some mongoreplay output:
|
| Comments |
| Comment by Spencer Brody (Inactive) [ 19/Apr/18 ] |
|
We will do |
| Comment by Spencer Brody (Inactive) [ 02/Apr/18 ] |
|
Same question as I asked on |
| Comment by A. Jesse Jiryu Davis [ 30/Mar/18 ] |
|
Thanks Shane. Spencer I'm requesting this is reopened, thanks! |
| Comment by Shane Harvey [ 30/Mar/18 ] |
|
Yes. That's what I had in mind to test. |
| Comment by A. Jesse Jiryu Davis [ 30/Mar/18 ] |
|
Good point. Why do we need to test network errors — to ensure drivers do not attempt retryable single-statement writes within a transaction? |
| Comment by Shane Harvey [ 30/Mar/18 ] |
|
jesse, how would we use a duplicate key error to test the behavior of network errors? |
| Comment by A. Jesse Jiryu Davis [ 27/Mar/18 ] |
|
I think we can use duplicate key errors and write conflicts instead, thanks. |
| Comment by Spencer Brody (Inactive) [ 27/Mar/18 ] |
|
jesse, how critical is this for you to be able to test your work? Is this blocking your testing? |
| Comment by A. Jesse Jiryu Davis [ 21/Mar/18 ] |
|
shane.harvey we can't test all error types within transactions yet. |