[SERVER-68754] Make ChunkManagerTargeter support taking in a custom ChunkManager Created: 11/Aug/22 Updated: 29/Oct/23 Resolved: 10/Oct/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.2.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Cheahuychou Mao | Assignee: | Adi Zaimi |
| 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 2022-09-19, Sharding 2022-10-03, Sharding 2022-10-17 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
To allow the analyzeShardKey command to determine if a candidate shard key can lead to a hot chunk, we need the ability to simulate routing based on the synthetic routing table created based on the candidate shard key. So we need to make the ChunkManagerTargeter support using synthetic routing info rather than the one from the CatalogCache to do the targeting. |
| Comments |
| Comment by Githook User [ 10/Oct/22 ] |
|
Author: {'name': 'Adi Zaimi', 'email': 'adizaimi@yahoo.com', 'username': 'adizaimi'}Message: |
| Comment by Kaloian Manassiev [ 12/Aug/22 ] |
|
If you are going to be working on the ChunkManagerTargeter, may I ask that you guys completely decouple it from the chunk manager path and make it stateless? One thing that I was thinking is to actually move the targeting functionality from the the CMT to be in the ChunkManager and made stateless. As it stands now, the CMT is both a "targeter" and state-managing around the stale versions that were received. The stateful logic should be moved in the BatchWriteExecutor instead and the stateless targeting functionality, should be moved in the ChunkManager. That way we can get rid of this class entirely. |