[SERVER-72370] Update in-memory serverless locks transactionally for tenant migration recipient Created: 22/Dec/22 Updated: 29/Oct/23 Resolved: 16/May/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Didier Nadeau | Assignee: | Didier Nadeau |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Serverless
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Server Serverless 2023-05-29 | ||||||||
| Participants: | |||||||||
| Description |
|
Related to the comment below from a PR : EDIT: I took a closer look into this onInsert opObserver code for namespace kTenantMigrationRecipientsNamespace. we are doing 2 things
Item#1 is just checking the filed expireAt but not checking the state. I feel the contract should be do 1 & 2 only if the state is kStarted. I like the way donor insert opObserver is written. We should do something similar for more clarity (kStarted does 1 &2; kDone does noting; remaining state should uassert as ErrorCodes::IllegalOperation) Just a followup comment, I noticed that we might miss releasing the lock in the following situation |
| Comments |
| Comment by Githook User [ 16/May/23 ] |
|
Author: {'name': 'Didier Nadeau', 'email': 'didier.nadeau@mongodb.com', 'username': 'nadeaudi'}Message: |
| Comment by Didier Nadeau [ 15/May/23 ] |
|
Most of the work was done in |
| Comment by Steven Vannelli [ 17/Mar/23 ] |
|
Once we confirm that we are completely moving away from tenant migrations, we will close this ticket. Until then, keeping it open. |