SPARK-13723, the behavior changed for spark.dynamicAllocation.initialExecutors less then spark.dynamicAllocation.minExecutors situation.
initialExecutors < minExecutors is an invalid setting,
If initialExecutors < minExecutors, Spark will throw exception with:
This will clearly let user know that current configuration is invalid.
Because we also consider spark.executor.instances, so the initial number is the max value between minExecutors, initialExecutors, numExecutors.
This will silently ignore the situation where initialExecutors < minExecutors.
So at least we should add some warning logs to let user know this is an invalid configuration.