[SERVER-27704] Chunk metadata cache updates on the primary must be written to config.chunks.ns Created: 17/Jan/17 Updated: 05/Apr/17 Resolved: 01/Mar/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 3.5.4 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Dianna Hohensee (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Sprint: | Sharding 2017-02-13, Sharding 2017-03-06 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
Shard primaries refresh their chunk metadata by querying the config server for new metadata, and then creating and setting a new CollectionMetadata object. Usually the new CollectionMetadata object is based off of the old CollectionMetadata object, but if the CollectionMetadata was previously cleared then the query will retrieve all the chunk metadata and make an entirely new CollectionMetadata object with the results. The ConfigDiffTracker::calculateConfigDiff function applies the new chunk metadata queried from the config server to the new CollectionMetadata object. From now on, the primary must read from and write to admin.chunks. In-memory cached chunk metadata manipulations, via CollectionMetadata or ConfigDiffTracker methods, should correspondingly do writes to the admin.chunks collection. |
| Comments |
| Comment by Githook User [ 01/Mar/17 ] |
|
Author: {u'username': u'DiannaHohensee', u'name': u'Dianna Hohensee', u'email': u'dianna.hohensee@10gen.com'}Message: |