When changing from a non-sharded to a sharded deployment, it is easy to forget
to update all application components to connect through mongos instead of
connecting to a replica set. If this conversion is missed, it is possible for
an application to insert data into a sharded collection directly, bypassing
mongos. This can result in data being inserted into the incorrect shard.
Such data appears to disappear when sought through mongos: mongos will route
queries to the appropriate shard, and the data is not found there.
Shard servers are aware they are part of a sharded setup because of the
shardsvr startup flag. Therefore, they should be able to verify inserted data
is within the expected shard chunk key ranges for themselves, and complain