collection is sharded in mongos but not enabled in sharding instance

XMLWordPrintableJSON

    • Type: Question
    • Resolution: Done
    • Priority: Major - P3
    • None
    • Affects Version/s: 3.4.10
    • Component/s: Sharding
    • None
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Hi all,

      I have a 2-shards-3-replicas cluster in prod, config db is 3-replicas and 2 mongos instances, mongo version is 3.4.10.
      I already enabled sharding at db level, then try to shard the collection

      *mongos> db.user.ensureIndex(\{person_id: "hashed"}, \{background: true})*
      {
       "raw" : {
       "prod1/172.31.0.16:27017,172.31.0.76:27017,172.31.0.85:27017" : {
       "createdCollectionAutomatically" : false,
       "numIndexesBefore" : 2,
       "numIndexesAfter" : 3,
       "ok" : 1,
       "$gleStats" : {
       "lastOpTime" : {
       "ts" : Timestamp(1567133797, 47),
       "t" : NumberLong(11)
       },
       "electionId" : ObjectId("7fffffff000000000000000b")
       }
       }
       },
       "ok" : 1
      }
      *mongos> sh.shardCollection("prod.user", \{ person_id : "hashed" } )*
      { "collectionsharded" : "prod.user", "ok" : 1 }
      
      *mongos> db.collections.find(\{_id:"prod.user"})*
      { "_id" : "prod.user", "lastmodEpoch" : ObjectId("5d68a55593c736ce7519fdb8"), "lastmod" : ISODate("1970-02-19T17:02:47.694Z"), "dropped" : false, "key" : \{ "person_id" : "hashed" }, "unique" : false }
      
      *mongos> db.user.getShardDistribution()*
      
      Shard prod1 at prod1/172.31.0.16:27017,172.31.0.76:27017,172.31.0.85:27017
       data : 12.45GiB docs : 65857922 chunks : 399
       estimated data per chunk : 31.96MiB
       estimated docs per chunk : 165057
      
      Totals
       data : 12.45GiB docs : 65857922 chunks : 399
       Shard prod1 contains 100% data, 100% docs in cluster, avg obj size on shard : 203B
      

      Everything seems fine through mongos,but the output in shard instance is below, and the collection still holds on single shard server

      *prod1:PRIMARY> db.user.getShardDistribution()*
      Collection prod.user is not sharded.
      

      I try to re-shard through mongos, which fails

      *mongos> sh.shardCollection("prod.user", \{ person_id : "hashed" } )*
      {
       "code" : 20,
       "ok" : 0,
       "errmsg" : "sharding already enabled for collection prod.user"
      }
      

      There must be some confusions between mongos and shard, but I'm not sure how to debug, since it's prod, every action should be with caution.
      Please help to give some tips, thanks!

            Assignee:
            Danny Hatcher (Inactive)
            Reporter:
            ren justin
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: