-
Type: Task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
None
-
Fully Compatible
-
Sharding 2017-02-13, Sharding 2017-03-06
Currently ShardLocal has invariants to only run on config servers. Safe secondary reads requires the ability to do local reads/writes, to new config.chunks.uuid collections, so these must be removed. The initialization code will also need to be changed, to create ShardLocal instances on shards, which currently cannot be happening because the ShardLocal constructor has an invariant in it to make sure it's on a config server.
Specific Shard class changes:
- remove "OnConfig" from function names, as they'll run on shards and config servers
- remove invariant checks that the server is a config server
- additional unit testing
- has to be done after
-
SERVER-27977 Remove config connection string command parameters that are no longer used to initiate sharding, and eliminate current uses of ShardLocal::getConnString()
- Closed
-
SERVER-28012 Make ShardLocal stateless: remove ShardLocal::_lastOpTime field
- Closed
- has to be done before
-
SERVER-27811 Refactor catalog client classes to accommodate shards reading/writing to shard collections
- Closed
- related to
-
SERVER-27885 Create new function on Shard class to do multiple document batch writes
- Closed