[SERVER-28447] Migration critical section for one collection will block finds for any other sharded collection Created: 23/Mar/17 Updated: 06/Dec/17 Resolved: 06/Apr/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 3.2.12 |
| Fix Version/s: | 3.2.13 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kaloian Manassiev | Assignee: | Kaloian Manassiev |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Sharding 2017-04-17 | ||||||||
| Participants: | |||||||||
| Description |
|
The find command implementation in 3.2 indiscriminately checks for critical section before even looking at the collection's shard version. This causes the migration critical section on one collection to stall find operations for all other collections even if they do not participate in migrations themselves. Since in 3.2 there isn't a (non-racy) way to differentiate between the critical sections on one collection versus another, at the very least this check should only be done if shard version mismatch is encountered and not all the time. |
| Comments |
| Comment by Ramon Fernandez Marina [ 24/Aug/17 ] |
|
Author: {'username': u'kaloianm', 'name': u'Kaloian Manassiev', 'email': u'kaloian.manassiev@mongodb.com'}Message: This test ensures that while query and write on one collection are stuck in the migration critical section, other collections are not impacted. |
| Comment by Ramon Fernandez Marina [ 24/Aug/17 ] |
|
Author: {'username': u'kaloianm', 'name': u'Kaloian Manassiev', 'email': u'kaloian.manassiev@mongodb.com'}Message:Revert " This reverts commit dca347ebe473a36116157d3649bd10b3319794fc. |
| Comment by Githook User [ 07/Apr/17 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: The last-stable 3.2 is 3.2.12 which does not yet have the fix. |
| Comment by Githook User [ 07/Apr/17 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: |
| Comment by Githook User [ 07/Apr/17 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: This test ensures that while query and write on one collection are stuck |
| Comment by Githook User [ 07/Apr/17 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: This test ensures that while query and write on one collection are stuck |
| Comment by Githook User [ 06/Apr/17 ] |
|
Author: {u'username': u'kaloianm', u'name': u'Kaloian Manassiev', u'email': u'kaloian.manassiev@mongodb.com'}Message: |