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

cannot retrieve partial results from a sharded cluster with one zone down

    • Cluster Scalability
    • ALL
    • 3

      Results are not being returned as expected when issuing what should be a targeted query against a zone-sharded cluster when one zone is down. Steps to reproduce (you can find the exact commands that I used here on github):

      1. Launch a 2-shard cluster ("0-deployCluster.mlaunch.sh")
      2. Tag each shard with a zone (US and WORLD). ("1-addShardstoZone.sh").
      3. Define the zone ranges such that a 'metadata.site' value of 'site1' is mapped to the US zone and a 'metadata.site' value of 'site2' is mapped to the WORLD zone. ("2-defineZoneRanges.sh")
      4. Shard a collection using a compound shard key: {'metadata.site':1, 'metadata.sensorID': 1}.   ("3-shardCollection.sh")
      5. Insert test data. 2 records will suffice: one containing 'metadata.site'='site1' and another container 'metadata.site'='site2'. ("4-insertData.sh")
      6.  Run the test scenario defined in "testSiteFailure.txt". Kill shard02 (corresponding to site2/WORLD), connect to the mongos, and run some queries. Note that a query on {"metadata.site":"site1"} should be a targeted query, and should succeed, but it does not. No results are returned.

      Working with ratika.gandhi@mongodb.com to understand why results are not being returned when using the prefix of a compound shard key. Our documentation says this should work. 

      I tested this using Mongo 6.0.6

            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            jonathan.janos@mongodb.com Jonathan Janos
            0 Vote for this issue
            3 Start watching this issue