-
Type: Task
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
None
-
Sharding
Plan for 2.6:
Wire existing logic to the write commands in mongos while preserving previous behaviour as much as possible.
Plan for beyond 2.6:
Move auto split mechanism to the shards. Preserve simple existing behavior as much as possible, at first.
Eventually, a separate entity will be tasked to keep track of the document sizes being inserted. This entity will have no knowledge of the entire chunk ranges and config for a collection and will only know ranges being fed to it. Basically, the api would look something like:
class AutoSplitTracker { public: bool newDoc(const BSONObj& minChunkKey, const BSONObj& maxChunkKey, const BSONObj& doc) { // Check inconsistency in mix/max pair with our own map and delete inconsistent entries. // Inconsistent entries are caused by the changes in chunk boundaries due to the chunks being merged or splitted. _map[minChunkKey].increment(doc.objsize()); if (_map[minChunkKey].size() > splitThreshold) { // use splitVector to determine if we actually need to split } } }
- is duplicated by
-
SERVER-11683 Figure out mongod split triggering mechanism
- Closed
- related to
-
SERVER-9287 Decision to split chunk should happen on shard mongod, not on mongos
- Closed