[SERVER-40865] The ShardServerCatalogCacheLoader does not serialize read operations with other operations for the same collection Created: 26/Apr/19  Updated: 29/Oct/23  Resolved: 31/Aug/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 5.1.0, 4.2.15, 4.0.26, 4.4.8, 5.0.2
Fix Version/s: 5.0.4, 5.1.0-rc0, 4.4.16

Type: Bug Priority: Major - P3
Reporter: Matthew Saltz (Inactive) Assignee: Pierlauro Sciarelli
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v5.0, v4.4, v4.2, v4.0
Sprint: Sharding EMEA 2021-09-06
Participants:
Linked BF Score: 140

 Description   

Reads on a collection in the ShardServerCatalogCacheLoader scheduled as part of the call to getChunksSince can conflict with other tasks scheduled for the same collection, such as drops. These should either be serialized or the read should be made to not yield.



 Comments   
Comment by Githook User [ 11/Jul/22 ]

Author:

{'name': 'Sergi Mateo Bellido', 'email': 'sergi.mateo-bellido@mongodb.com', 'username': 'smateo'}

Message: SERVER-40865 Retry CatalogCache refresh on QueryPlanKilled error
Branch: v4.4
https://github.com/mongodb/mongo/commit/9b9d2338477361c04cf44ac7a098bd0cdee4bbd4

Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 20/Sep/21 ]

Author:

{'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}

Message: SERVER-40865 Retry QueryPlanKilled errors in the catalog cache
Branch: v5.0
https://github.com/mongodb/mongo/commit/5387de8c4fbe580bbb7bc246796a7491e9372e70

Comment by Githook User [ 31/Aug/21 ]

Author:

{'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}

Message: SERVER-40865 Retry QueryPlanKilled errors in the catalog cache
Branch: master
https://github.com/mongodb/mongo/commit/a9c17e84f57070ab1021013ba9ca02a74c7c771e

Comment by Pierlauro Sciarelli [ 31/Aug/21 ]

Considering that all the failures are due to QueryPlanKilled exceptions, going to implement a solution that simply adds this error to the ones retried by the catalog cache rather than introducing additional complexity: it's only needed an additional retry of the read to "see" eventual changes since drop is not yielding. This will also allow quick backports.

Comment by Ratika Gandhi [ 01/Jul/21 ]

flagging this for scheduling because it has 7 BFs depended on it. It would be good to schedule this to be able to close the BFs. 

Generated at Thu Feb 08 04:56:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.