That's some pretty old code. I would guess it was done that way to conserve resources. And _i think_ thread creation is pretty light weight.
Jonathan / Brandon / others - opinions ? Cheers ----------------- Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 17/08/2012, at 8:09 AM, Guillermo Winkler <gwink...@inconcertcc.com> wrote: > Hi, I have a cassandra cluster where I'm seeing a lot of thread trashing from > the mutation pool. > > MutationStage:72031 > > Where threads get created and disposed in 100's batches every few minutes, > since it's a 16 core server concurrent_writes is set in 100 in the > cassandra.yaml. > > concurrent_writes: 100 > > I've seen in the StageManager class this pools get created with 60 seconds > keepalive time. > > DebuggableThreadPoolExecutor -> allowCoreThreadTimeOut(true); > > StageManager-> public static final long KEEPALIVE = 60; // seconds to keep > "extra" threads alive for when idle > > Is it a reason for it to be this way? > > Why not have a fixed size pool with Integer.MAX_VALUE as keepalive since > corePoolSize and maxPoolSize are set at the same size? > > Thanks, > Guille >