@@ -1941,6 +1941,28 @@ func TestRegionSizeCacheAcrossStoresAndRules(t *testing.T) {
19411941 re .Equal (2 , loadCounts [regionSizeCacheKey {startKey : "a" , endKey : "m" }])
19421942}
19431943
1944+ func TestPreparingRegionSizeUsesRootForFullRange (t * testing.T ) {
1945+ re := require .New (t )
1946+ cluster := & RaftCluster {BasicCluster : core .NewBasicCluster ()}
1947+ peer := & metapb.Peer {Id : 1 , StoreId : 1 }
1948+ region := core .NewRegionInfo (& metapb.Region {
1949+ Id : 1 ,
1950+ StartKey : []byte ("a" ),
1951+ EndKey : []byte ("z" ),
1952+ Peers : []* metapb.Peer {peer },
1953+ }, peer , core .SetApproximateSize (10 ))
1954+ cluster .PutRegion (region )
1955+
1956+ updated := region .Clone (core .SetApproximateSize (40 ))
1957+ _ , err := cluster .CheckAndPutRootTree (core .ContextTODO (), updated )
1958+ re .NoError (err )
1959+ re .Equal (int64 (40 ), cluster .GetRegionSizeByRange (nil , nil ))
1960+ re .Equal (int64 (10 ), cluster .GetRegionSizeByRangeFromSubTree (nil , nil ))
1961+
1962+ re .Equal (int64 (40 ), cluster .getPreparingRegionSize (nil , nil ))
1963+ re .Equal (int64 (10 ), cluster .getPreparingRegionSize ([]byte ("a" ), []byte ("z" )))
1964+ }
1965+
19441966func TestStatsRegions (t * testing.T ) {
19451967 re := require .New (t )
19461968 ctx , cancel := context .WithCancel (context .Background ())
0 commit comments