because mongos currently does not allow remote queries on shards that were removed. It is also unclear from the user point of view when is it safe to physically take out the shard that was removed and not make the change stream lose track of some of the writes.
Possible fix is to make it such that removeShard and changeStream work together:
- removeShard will insert an 'end of life' sentinel oplog entry
- changeStream sees the sentinel and kills itself
- removeShard will not return success until there are no more change stream cursors in the shard
In this scheme, the user will know that it is safe to completely decommission the shard once removeShard completes.