[SERVER-73468] Circular dependency between CollectionPtr and all of the index catalog structures Created: 31/Jan/23  Updated: 29/Oct/23  Resolved: 05/May/23

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 7.1.0-rc0, 7.0.0-rc1

Type: Bug Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Fixed Votes: 0
Labels: PM-2144-StorEx-Cleanup
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on SERVER-73469 Remove dependency of the ChunkManager... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v7.0, v6.3
Sprint: Sharding EMEA 2023-02-20, Sharding EMEA 2023-03-06, Sharding EMEA 2023-03-20, Sharding EMEA 2023-04-03, Sharding EMEA 2023-04-17, Sharding EMEA 2023-05-01, Sharding EMEA 2023-05-15
Participants:
Linked BF Score: 0

 Description   

In the current StorEx architecture, all of the IndexAccessMethod implementations are hierarchically subordinate to the CollectionPtr (via Collection) and they are all in different libraries. However, at the same time they all depend and call back into the owning CollectionPtr or into other parts of the hierarchy.

This creates a circular dependency.

This ticket is to resolve that circular dependency, by placing them all into the shard_role_api library, since these all are interfaces into the ShardRole.



 Comments   
Comment by Githook User [ 20/Jun/23 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-73468 Add missing dependency of op_observers on shard_role_api_stor_ex
Branch: v7.0
https://github.com/mongodb/mongo/commit/b68acf8664f699d13bd747a0a8ca5a3e39060d59

Comment by Uladzimir Makouski [ 01/Jun/23 ]

Requesting v6.3 backport, see reoccurrences: BFG-1964570, BFG-1964567

Comment by Githook User [ 05/May/23 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-73468 Pull the Collection* definitions out of shard_role_api

(cherry picked from commit f19464a6afd0a8b80a33090850200cbf916cf056)
Branch: v7.0
https://github.com/mongodb/mongo/commit/74ca0ff72cddb076fb68959a57dd8113a9ca2360

Comment by Githook User [ 04/May/23 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-73468 Pull the Collection* definitions out of shard_role_api
Branch: master
https://github.com/mongodb/mongo/commit/f19464a6afd0a8b80a33090850200cbf916cf056

Comment by Githook User [ 03/May/23 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-73468 Break dependency of commands on op_metrics

(cherry picked from commit a575d9b94d4f44c5c33dd17050369c53ae179790)
Branch: v7.0
https://github.com/mongodb/mongo/commit/a1faa01f5b1cc538afe2fe8218057e03a9d1c1c9

Comment by Githook User [ 02/May/23 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-73468 Break dependency of commands on op_metrics
Branch: master
https://github.com/mongodb/mongo/commit/a575d9b94d4f44c5c33dd17050369c53ae179790

Generated at Thu Feb 08 06:24:45 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.