-
Type: Task
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
None
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. 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 } } }
- duplicates
-
SERVER-10866 Figure out split triggering mechanism
- Closed