ValidateAndGetSchedulerConfiguration fails when the cluster max allocation (yarn.scheduler.maximum-allocation-mb) is set to resource (eg: 16GB) > default 8GB in yarn-site.xml.
As part of validation API, there are two configuration used - CapacitySchedulerConfiguration and Configuration (yarn-site.xml). When CapacityScheduler is initialized with CapacitySchedulerConfiguration, as part of queues initialization, it checks the queue maximum allocation which is not present and so checks cluster max allocation which is not present (it is present only in YarnConfiguration) and defaults to 8GB. This will fail as queue max allocation 8GB is decreased from previous 16GB.
CapacityScheduler initialize code reads a yarn config from CapacitySchedulerConfiguration causing the issue.