[SERVER-59975] Handle sharding errors which disallow further writes in time-series code path Created: 15/Sep/21 Updated: 28/Sep/21 Resolved: 28/Sep/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Henrik Edin | Assignee: | Henrik Edin |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Sprint: | Execution Team 2021-10-04 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
When performing writes using performUpdates there is internal error handling via handleError that may indicate that no further writes may be performed. One such class of errors is the stale sharding version error. If more write operations are performed an invariant in the sharding subsystem is triggered because the error may only be set once. performUpdates does not return if it is allowed to continue with further write operations, just an error code that is not easy to interpret the severity of. In our time-series write code path we sometimes perform writes in loops without checking for error. If this sharding error is encountered we would trigger the invariant in the second iteration. |
| Comments |
| Comment by Connie Chen [ 16/Sep/21 ] |
|
FYI rushan.chen arun.banala, this is related to PM-2188. |