Chunk is unbalanced, autosplit seems not working

DB ver : 6.0.20
Sharde cluster consists of 4 shards(PSS), 4 config servers and 6 mongoses
Shard Key is “name” : 1, 2, 3, … increasing number

I was doing some performance tests
I just found that shard is not balanced after name:369712 chunk defined
(recent name is over 800,000)

(please ignore “Shard key : memo” and chunk manually splited at 450k, 550k, … I just did it for test after unbalanced state)

Q. Why last chunk is not splitting? It seems clearly unbalanced but autosplit is enabled at sh.status(). I can’t get it

// op for Insert Test
for (var i = 401000; i < 420000; i++) { db.test.insertOne({ no: 2, name: i, memo: UUID().toString("hex") + UUID().toString("hex") + UUID().toString("hex") }); }

// part of  sh.status()


(skip)
autosplit
{ 'Currently enabled': 'yes' }
(skip)
    collections: {
      'test.test': {
        shardKey: { name: 1, memo: 'hashed' },
        unique: false,
        balancing: true,
        chunkMetadata: [
          { shard: 'rpt01', nChunks: 23 },
          { shard: 'rpt02', nChunks: 29 },
          { shard: 'rpt03', nChunks: 22 },
          { shard: 'rpt04', nChunks: 22 }
        ],
        chunks: [
          { min: { name: MinKey(), memo: MinKey() }, max: { name: 1652, memo: MinKey() }, 'on shard': 'rpt01', 'last modified': Timestamp({ t: 1, i: 0 }) },
          { min: { name: 1652, memo: MinKey() }, max: { name: 2806, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 1 }) },
          { min: { name: 2806, memo: MinKey() }, max: { name: 4442, memo: MinKey() }, 'on shard': 'rpt03', 'last modified': Timestamp({ t: 1, i: 2 }) },
          { min: { name: 4442, memo: MinKey() }, max: { name: 5301, memo: MinKey() }, 'on shard': 'rpt04', 'last modified': Timestamp({ t: 1, i: 3 }) },
          { min: { name: 5301, memo: MinKey() }, max: { name: 6154, memo: MinKey() }, 'on shard': 'rpt01', 'last modified': Timestamp({ t: 1, i: 4 }) },
          { min: { name: 6154, memo: MinKey() }, max: { name: 7208, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 5 }) },
          { min: { name: 7208, memo: MinKey() }, max: { name: 8197, memo: MinKey() }, 'on shard': 'rpt03', 'last modified': Timestamp({ t: 1, i: 6 }) },
          { min: { name: 8197, memo: MinKey() }, max: { name: 9980, memo: MinKey() }, 'on shard': 'rpt04', 'last modified': Timestamp({ t: 1, i: 7 }) },
(skip)
          **{ min: { name: 355026, memo: MinKey() }, max: { name: 361257, memo: MinKey() }, 'on shard': 'rpt04', 'last modified': Timestamp({ t: 1, i: 87 }) },**
**          { min: { name: 361257, memo: MinKey() }, max: { name: 369712, memo: MinKey() }, 'on shard': 'rpt01', 'last modified': Timestamp({ t: 1, i: 88 }) },**
          { min: { name: 369712, memo: MinKey() }, max: { name: 450000, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 106 }) },
          { min: { name: 450000, memo: MinKey() }, max: { name: 550000, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 108 }) },
          { min: { name: 550000, memo: MinKey() }, max: { name: 650000, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 110 }) },
          { min: { name: 650000, memo: MinKey() }, max: { name: 750000, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 112 }) },
          { min: { name: 750000, memo: MinKey() }, max: { name: 850000, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 114 }) },
          { min: { name: 850000, memo: MinKey() }, max: { name: 950000, memo: MinKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 116 }) },
          { min: { name: 950000, memo: MinKey() }, max: { name: MaxKey(), memo: MaxKey() }, 'on shard': 'rpt02', 'last modified': Timestamp({ t: 1, i: 117 }) }
        ],
        tags: []
      }
    }
  }

// db.test.getShardDistribution()

[direct: mongos] test> db.test.getShardDistribution()
Shard rpt02 at rpt02/48:30201,48:30202,48:30203
{
  data: '96.33MiB',
  docs: 738875,
  chunks: 29,
  'estimated data per chunk': '3.32MiB',
  'estimated docs per chunk': 25478
}
---
Shard rpt01 at rpt01/48:30101,48:30102,48:30103
{
  data: '15.39MiB',
  docs: 240432,
  chunks: 23,
  'estimated data per chunk': '685KiB',
  'estimated docs per chunk': 10453
}
---
Shard rpt03 at rpt03/48:30301,48:30302,:30303
{
  data: '5.91MiB',
  docs: 116559,
  chunks: 22,
  'estimated data per chunk': '275KiB',
  'estimated docs per chunk': 5298
}
---
Shard rpt04 at rpt04/48:30401,48:30402,48:30403
{
  data: '5.43MiB',
  docs: 104894,
  chunks: 22,
  'estimated data per chunk': '253KiB',
  'estimated docs per chunk': 4767
}
---
Totals
{
  data: '123.08MiB',
  docs: 1200760,
  chunks: 96,
  'Shard rpt02': [
    '78.26 % data',
    '61.53 % docs in cluster',
    '136B avg obj size on shard'
  ],
  'Shard rpt01': [
    '12.51 % data',
    '20.02 % docs in cluster',
    '67B avg obj size on shard'
  ],
  'Shard rpt03': [
    '4.8 % data',
    '9.7 % docs in cluster',
    '53B avg obj size on shard'
  ],
  'Shard rpt04': [
    '4.41 % data',
    '8.73 % docs in cluster',
    '54B avg obj size on shard'
  ]
}

`