Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-33869

make $changeStream on shards check shardVersion

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.4, 3.7.4
    • Affects Version/s: 3.7.2
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v3.6
    • Sharding 2018-03-26

      If an aggregate with $changeStream is sent to a shard, the shard will:

      Since shard version checking is done in AutoGetCollectionForReadCommand but not AutoGetCollection, this means the changeStream on the shard does not check shardVersion for the change stream's underlying namespace, but for "oplog.rs".

      This can be fixed by changing AutoGetCollection for change streams in runAggregate() to AutoGetCollectionForReadCommand, but may cause complications with currentOp and top output.

      CC charlie.swanson, also would we want to backport this to 3.6?

            Assignee:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Reporter:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: