- 
    Type:
Bug
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: None
 - 
    Component/s: None
 - 
    None
 
- 
        ALL
 - 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
Performing a synthetic workload I noticed a very different number of chunks and an error rate in the balancer when using the option:
Below are the test results:
# Default configuration
mongos> sh.status(0 )mongos> sh.status(0 )
--- Sharding Status ---
  sharding version:
 {  "_id" : 1,  "minCompatibleVersion" : 5,  "currentVersion" : 6,  "clusterId" : ObjectId("5f74ba2926ac7490e83e7c65")  }
  shards:
        {  "_id" : "shard01",  "host" : "shard01/localhost:37018,localhost:37019,localhost:37020",  "state" : 1 }
        {  "_id" : "shard02",  "host" : "shard02/localhost:37021,localhost:37022,localhost:37023",  "state" : 1 }
        {  "_id" : "shard03",  "host" : "shard03/localhost:37024,localhost:37025,localhost:37026",  "state" : 1 }
  active mongoses:        "4.0.20-13" : 1
  autosplit:
        Currently enabled: yes
  balancer:
        Currently enabled:  yes
        Currently running:  no 
       Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours:
                16 : Success
                129 : Failed with error 'aborted', from shard01 to shard03
  databases:
        {  "_id" : "config",  "primary" : "config",  "partitioned" : true }
                config.system.sessions
                        shard key: { "_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                               shard01 1
                        { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : shard01 Timestamp(1, 0)
        {  "_id" : "vinnie",  "primary" : "shard01",  "partitioned" : true,  "version" : {  "uuid" : UUID("4bd88f33-481a-47d2-86c6-6a1fad5ed677"),  "lastMod" : 1 } }
                vinnie.companies
                        shard key: { "_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                shard01 10
                                shard02 9
                                shard03 9
                        too many chunks to print, use verbose if you want to force print
mongos> db.companies.count()
4813948
And with the settings in place:
# Using the config below
use config;
db.settings.save( { _id:"chunksize", value: 64 });
db.settings.save( { "_id" : "balancer", "_secondaryThrottle" : { "w" : "majority" }, "_waitForDelete" : true} )
mongos> sh.status()
--- Sharding Status ---
  sharding version: {   "_id" : 1,   "minCompatibleVersion" : 5,   "currentVersion" : 6,   "clusterId" : ObjectId("5f74ccd17a58008967dd6fbf")  }
  shards:
        {  "_id" : "shard01",  "host" : "shard01/localhost:37018,localhost:37019,localhost:37020",  "state" : 1 }
        {  "_id" : "shard02",  "host" : "shard02/localhost:37021,localhost:37022,localhost:37023",  "state" : 1 }
        {  "_id" : "shard03",  "host" : "shard03/localhost:37024,localhost:37025,localhost:37026",  "state" : 1 }
  active mongoses:        "4.0.20-13" : 1
  autosplit:
        Currently enabled: yes  balancer:
        Currently enabled:  yes
        Currently running:  no
        Failed balancer rounds in last 5 attempts:  0
        Migration Results for the last 24 hours:
                64 : Success
  databases:
        {  "_id" : "config",  "primary" : "config",  "partitioned" : true }
                config.system.sessions
                        shard key: { "_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                shard01 1
                       { "_id" : { "$minKey" : 1 } } -->> { "_id" : { "$maxKey" : 1 } } on : shard01 Timestamp(1, 0)
        {  "_id" : "vinnie",  "primary" : "shard01",  "partitioned" : true,  "version" : {  "uuid" : UUID("94232603-84da-43e0-bef7-783db0019696"),  "lastMod" : 1 } }
                vinnie.companies
                        shard key: { "_id" : 1 }
                        unique: false
                        balancing: true
                        chunks:
                                shard01 33
                                shard02 34
                                shard03 34
                        too many chunks to print, use verbose if you want to force print
mongos> db.companies.count()
4442950
It seems like an issue since Mongo "gives up" about splitting the chunk and I'm afraid this can lead to jumbo chunks. On the other hand, with the settings enabled, I can observe an increased load on the shards (probably due to the write concern majority).