[SERVER-44771] Allow operations in transactions to safely consult the CatalogCache on mongod Created: 21/Nov/19 Updated: 29/Oct/23 Resolved: 14/Feb/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework, Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.4 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | Tommaso Tocci |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||
| Sprint: | Sharding 2019-12-30, Sharding 2020-01-13, Sharding 2020-01-27, Sharding 2020-02-10, Sharding 2020-02-24 | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||||||
| Description |
|
When brainstorming the design for $unionWith, we are concerned about an issue we have previously run into in such a scenario. esha.maharishi sums up a possible deadlock that can occur when a shard tries to look at the CatalogCache while still holding a lock in this comment. It's also described in This ticket tracks a feature request to remove that invariant. It should be possible to query a different shard using the CatalogCache while you are in a transaction (and thus hold some locks which you cannot drop). Currently you cannot do this because it may deadlock. |
| Comments |
| Comment by Githook User [ 14/Feb/20 ] |
|
Author: {'username': 'toto-dev', 'name': 'Tommaso Tocci', 'email': 'tommaso.tocci@mongodb.com'}Message: Only on ShardServer (not ReadOnly) use a second catalog cache for |
| Comment by Tommaso Tocci [ 13/Feb/20 ] |
|
Blocked by |
| Comment by Githook User [ 08/Feb/20 ] |
|
Author: {'username': 'will62794', 'name': 'William Schultz', 'email': 'william.schultz@mongodb.com'}Message: Revert " This reverts commit 3473d09fa9b5e418e119941b01c88863744689cc. |
| Comment by Githook User [ 07/Feb/20 ] |
|
Author: {'name': 'Tommaso Tocci', 'username': 'toto-dev', 'email': 'tommaso.tocci@mongodb.com'}Message: Only on ShardServer (not ReadOnly) use a second catalog cache for |
| Comment by Githook User [ 06/Feb/20 ] |
|
Author: {'name': 'Tommaso Tocci', 'username': 'toto-dev', 'email': 'tommaso.tocci@mongodb.com'}Message: Revert " This reverts commit 84bdc9478401355656ab7eaec745dbae2e4294cb. |
| Comment by Githook User [ 06/Feb/20 ] |
|
Author: {'username': 'toto-dev', 'name': 'Tommaso Tocci', 'email': 'tommaso.tocci@mongodb.com'}Message: Only on ShardServer (not ReadOnly) use a second catalog cache for |