Details
-
Task
-
Resolution: Duplicate
-
Major - P3
-
None
-
None
-
None
-
Sharding
Description
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
|
}
|
}
|
}
|
Attachments
Issue Links
- 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
-