[SERVER-12676] distributed lock should be forceable if no lock documents exist on some servers Created: 10/Feb/14 Updated: 06/Dec/22 Resolved: 03/Jan/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Greg Studer | Assignee: | [DO NOT USE] Backlog - Sharding Team |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Sharding
|
| Operating System: | ALL |
| Participants: |
| Description |
|
This should be fairly rare, since lock documents generally exist after the first lock attempt, but is something that could prevent balancing progress in a cluster, for example. The lock document on the first config server is forced, and state set to 0, but on subsequent lock attempts the lock tournament step fails because contacting the second or third config server results in an empty document which we don't handle correctly. Needs a simple reproduction case. Seems possible from a code audit. |
| Comments |
| Comment by Kaloian Manassiev [ 03/Jan/19 ] |
|
This is no longer a problem with the introduction of CSRS in 3.2. |