When I look at my actor system metrics, I’m seeing that this dispatcher is using 32 threads. Is that because it’s honoring the parallelism-factor = 2.0 for the thread-pool-executor? That part wasn’t clear to me in the documentation but I’m starting to assume that must be the case.
If the fixed-pool-size is set that is used for both corePoolSize and maximumPoolSize of the java.util.concurrent.ThreadPoolExecutor so what you observe should not be about configuration unless there is a bug hiding there, but from a quick look at it looks correct.
Not sure if there are some scenarios where the java.util.concurrent.ThreadPoolExecutor stops/starts threads unexpectedly. When the core and maximum are the same it should not reap threads based on the timeout (60s by default) which it otherwise may do.