Currently, we found normalizer was merging regions which are non-adjacent, it will cause inconsistencies in the cluster.
The root cause is that getMergeNormalizationPlan() uses a list of regionInfo which is ordered by regionName. regionName does not necessary guarantee the order of STARTKEY (let's say 'aa1', 'aa1!', in order of regionName, it will be 'aa1!' followed by 'aa1'. This will result in normalizer merging non-adjacent regions into one and creates overlaps. This is not an issue in branch-1 as the list is already ordered by RegionInfo.COMPARATOR in normalizer.