Hello,
I'm experimenting with Synapse Spark pools and I've noticed that there's a dynamicExecutorAllocation parameter that is available when creating a Spark pool via REST API but not available via UI
When I'm setting dynamicExecutorAllocation.enabled to true Spark behaviour seems to be slightly inconsistent. If I'm checking spark configuration on job startup sometimes I see that spark.dynamicAllocation.enabled set to true, and spark.dynamicAllocation.maxExecutor is unset, which I guess is expected behaviour, but there is also this parameter present spark.dynamicAllocation.disableIfMinMaxNotSpecified.enabled=true. The job still executes on the min amount of executors, and I am not sure if that's because it's optimal configuration or is it because of spark.dynamicAllocation.disableIfMinMaxNotSpecified.enabled. Is there any information about this?
Also I tried doing the same on a different pool, and when I'm setting dynamicExecutionAllocation.enabled=true there, on the job execution spark configuration still has "spark.dynamicAllocation.enabled=false". From the Spark pool JSON settings:
"dynamicExecutorAllocation": {
"enabled": true
},
Are there any additional settings? Or am I using dynamicExecutionAllocation property incorrectly?
Thanks!